繁体   English   中英

PyQtGraph PlotWidget:如何强制每次绘制(改变范围)进行“实时”绘图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM