2014-04-28 26 views
5

Tôi có đoạn code saupython - cách lấy dữ liệu từ plt.imshow()?

import scipy.misc 
import matplotlib.pyplot as plt 

a = plt.imshow(scipy.misc.lena()) 

và những gì tôi đang hy vọng có thể đạt được là lấy dữ liệu trên lena bằng cách truy cập a hoặc đó là trẻ em.

Lý do là tôi sẽ được truy cập vào hình ảnh như plt.gcf() hoặc plt.gca()

Trả lời

7

a phải là một ví dụ matplotlib.image.AxesImage, trong trường hợp này bạn có thể sử dụng

a.get_array() 

a.set_array(data) 

Mảng được lưu trữ dưới dạng masked array.

Ví dụ

Có một ví dụ chính thức có sẵn tại http://matplotlib.org/examples/animation/dynamic_image.html.

Truy cập trực tiếp

Bạn cũng có thể sử dụng

a._A 

để truy cập dữ liệu mảng trực tiếp, mặc dù tôi tưởng tượng rằng các getter và setter là phương pháp ưa thích.

Các vấn đề liên quan