我已经用QT创建了一个小图形用户界面,它设置了一个matplotlib figure
和axes
。图形用户界面中的控件可以改变与axes
外观相关的所有内容。
基本上,它通过每个小部件发出信号返回到主框架来实现这一点,并在axes
和figure
对象上调用适当的matplotlib setters
。
但是,axes
(以及FigureCanvas
上显示的图像)可以在不通过图形用户界面输入的情况下更改(例如,在自动缩放或添加某些自动调整轴的绘图时)。在这种情况下,控制x轴限制的小部件现在将显示错误的值。
我希望所有相关的小工具更新时,轴updates....how我可以做到这一点吗?
我认为这是一个以前已经解决过的问题--如何实现不同对象之间的双向通信?
发布于 2014-11-07 21:48:47
fig.canvas.draw()
time.sleep(1e-2)
什么时候有什么东西写到情节里?然而,在没有代码的情况下很难提供帮助。展示一个你的代码不工作的例子会有很大帮助。
编辑
那么,我将再次尝试:如何获取正在更新的绘图的状态?我猜这就是@Ajean的更新器方法的意思。我知道matplotlib中的Artists有一个返回所有属性和值的Artist.properties()
方法。
我想Axes也会有类似的方法。
快速浏览matplotlib文档就会发现两个有趣的axes方法:ax.get_autoscale_on()
和ax.set_autoscale_on()
。
ax.set_autoscale_on(False)
将阻止绘图更新轴的状态。
https://stackoverflow.com/questions/26801068
复制相似问题