[英]PyQtGraph PlotWidget : how to force each draw (changing range) for "real time" plotting
我试图让 PlotWidget 移动(从左到右)非常快,就像它是心电图一样。 这是我想要的一个例子(除了他使用 PyQwt (这与我的项目不兼容,因为我使用 PySide(而不是 PyQt),而且我希望 X 轴也从左向右移动):
但是,我不知道该怎么做。 我可以绘制抓取图,我可以使用以下方法使其从左向右移动:
myPlotWidget.setXRange(0, 100)
然后
myPlotWidget.setXRange(1, 101)
这使它看起来像是从左向右移动(1 个单位),但我现在不知道如何使它平滑和自动。 我试图制作一个看起来像这样的循环:
for i in range(1000):
myPlotWidget.setXRange(10+i, 100+i, update=True)
但是在循环过程中,绘图不会更新......绘图仅在循环结束时更新,所以我看不到它从左到右“移动”,我只有最终结果。
有人可以帮助我吗? 有什么办法可以强制重绘循环的 1000 次吗?
我首先认为它计算太快所以我尝试了这个
for i in range(1000):
myPlotWidget.setXRange(10+i, 100+i, update=True)
time.sleep
但当然它没有用。
非常感谢你的帮助 !
在循环结束时,当它被更新时,你有类似myPlotWidget.update()
或myPlotWidget.canvas.draw()
,对吧?
只需将其移动到 for 循环中即可。 但是,如果您尝试绘制大量数据,这会变慢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.