我正在使用实现图像查看器matplotlib
。这个想法是对图像所做的更改(例如过滤器应用程序)将自动更新。
我创建了一个图来显示初始图像,并使用添加了一个按钮pyQt
更新数据。数据does改变,我检查过,但图没有。However,如果在我按下过滤器应用程序按钮后,我move图像使用matplotlib
的标准工具栏,然后图像会更新。
我假设我在更新图像时做错了什么,但由于移动图像的事实实际上会强制更新,因此它会显示数据更改。不过,我希望当我按下按钮时就会发生这种情况。
下面是一些代码。这是初始图形初始化,显示原始图像:
self.observableFig = Figure((4.0, 4.0), dpi=100)
self.canvas = FigureCanvas(self.observableFig)
self.canvas.setParent(self.observableWindow)
self.canvas.setFocusPolicy(Qt.StrongFocus)
self.canvas.setFocus()
self.canvas.mpl_connect('button_press_event', self.on_click)
# Showing initial data on Window
self.observableFig.clear()
self.observableAxes = self.observableFig.add_subplot(1, 1, 1)
min, max = self.min, self.max
self.observableAxes.imshow(
self.data,
vmin=min,
vmax=max,
origin='lower'
)
这是按下更改数据的按钮时发生的事件:
self.observableAxes.imshow(self.data/2, origin='lower')
# plt.clf()
# plt.draw()
# plt.show()
我努力了draw()
, show()
,基本上是我发现的任何东西pyplot
对这个。我也尝试过有和没有plt.ion()
一开始,但这并没有改变。
提前致谢。