我遇到了一个奇怪的错误,如果没有你的帮助,我无法解决。在matplotlib中使用imshow
设置图像后,即使我使用set_data
方法更改它,它仍然保持不变。看看这个例子:
import numpy as np
from matplotlib import pyplot as plt
def newevent(event):
haha[1,1] += 1
img.set_data(haha)
print img.get_array() # the data is change at this point
plt.draw()
haha = np.zeros((2,2))
img = plt.imshow(haha)
print img.get_array() # [[0,0],[0,0]]
plt.connect('button_press_event', newevent)
plt.show()
在我绘制图表后,set_data
方法不能改变图表内部任何内容。有人能解释一下为什么吗?编辑:我只是添加了几行说明我实际想要做的事情。我想在按下鼠标按钮后重新绘制数据。我不想删除整个图形,因为如果只有一件事情改变,那么这样做就很愚蠢。
newevent
函数? - Levon