我有两种方法:generate_window()显示图像,on_click()响应显示图像的窗口上的点击。它们看起来像这样:
def generate_panel(img):
plt.figure()
ax = plt.gca()
fig = plt.gcf()
implot = ax.imshow(img)
# When a colour is clicked on the image an event occurs
cid = fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()
def onclick(event):
if event.xdata != None and event.ydata != None:
# Change the contents of the plt window here
在代码的最后一行,我希望能够更改plt窗口中显示的图像,但我似乎无法使其工作。我已经在不同的地方尝试了set_data()和draw(),但这并没有奏效。有什么建议?提前谢谢。
答案 0 :(得分:1)
您还必须使用.panel { height: 300px; }
#collapseOne, #collapseTwo {
height:90%;
max-height:90%;
overflow-y:auto;
}
启用交互模式
然后只需在修改后调用plt.ion()
即可。
注意:使用交互模式时,您必须在plt.draw()
上指定参数block=True
,以防止它立即关闭窗口。
您的示例的此修改版本应在每次鼠标点击时绘制一个圆圈:
plt.show()