PyQtGraph PlotWidget:如何强制每次绘制(改变范围)为"实时"绘制

时间:2014-04-01 21:11:22

标签: python plot real-time pyqtgraph

我正在尝试让PlotWidget快速移动(从左到右),就好像它是一个电子图。这是我想要的一个例子(除了他使用PyQwt(它与我的projet不兼容,因为我使用PySide(而不是PyQt),除了我希望X轴也从左向右移动):

enter image description here

但是,我不知道该怎么做。我可以绘制抓图,我可以使用方法从左到右移动:

 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

但当然没有用。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:-1)

在循环结束时,当它更新时,您有类似myPlotWidget.update()myPlotWidget.canvas.draw()的内容,对吗?

将其移入for循环。如果您尝试绘制大量数据,这将会变慢。