Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 提高绘图速度_Python_Python 3.x_Pyqt_Pyqt5_Pyqtgraph - Fatal编程技术网

Python 提高绘图速度

Python 提高绘图速度,python,python-3.x,pyqt,pyqt5,pyqtgraph,Python,Python 3.x,Pyqt,Pyqt5,Pyqtgraph,我正在做一个更大的项目,需要绘制大量实时数据。我的程序的一个非常简化的版本是(很荣幸): 顶部的数字显示了它如何通过绘图和封口进行缩放。6和48是我的程序需要处理的原因。 运行程序打印时间约为1秒/更新。至少在我的机器上 为了使复杂的事情变得容易:我需要尽可能缩短这段策划时间。因子2可以,因子10很好 有什么想法吗?谢谢你的时间 最好的我想出了如何提高速度的办法。 正如我在评论中提到的,如果缩小,绘图速度会快得多。重新缩放绘图实际上占用了绘图所需的大部分时间。在我的例子中,绘制一个点需要2-4毫

我正在做一个更大的项目,需要绘制大量实时数据。我的程序的一个非常简化的版本是(很荣幸):

顶部的数字显示了它如何通过绘图和封口进行缩放。6和48是我的程序需要处理的原因。 运行程序打印时间约为1秒/更新。至少在我的机器上

为了使复杂的事情变得容易:我需要尽可能缩短这段策划时间。因子2可以,因子10很好

有什么想法吗?谢谢你的时间


最好的

我想出了如何提高速度的办法。 正如我在评论中提到的,如果缩小,绘图速度会快得多。重新缩放绘图实际上占用了绘图所需的大部分时间。在我的例子中,绘制一个点需要2-4毫秒,重新缩放需要20-40毫秒

我通过计算最终绘图的最大x和y范围,并在绘图开始前设置范围,解决了这个问题。如果您不知道将显示多少数据,则这没有帮助,但在这种情况下,autoPan函数可能会有所帮助。我在代码中添加了以下内容:

plot.setXRange(min_x,max_x, 0.05)
plot.setYRange(min_y,max_y, 0.05)
plot.hideButtons()

.hideButtons()禁用绘图左下角的自动缩放按钮。这将防止用户重新启用自动缩放。如果用户愿意,仍然可以放大和缩小,但自动重新缩放不再发生。这不是一个完美的解决方案,但在我的情况下有效。

进一步研究,重新缩放绘图(当数据点到达终点时自动发生)似乎需要大约一半的绘图时间。缩小将删除此选项,并使绘图速度加倍。我也许可以在我的软件中把它变成“更大”的块,但这并不能真正解决问题
plot.setXRange(min_x,max_x, 0.05)
plot.setYRange(min_y,max_y, 0.05)
plot.hideButtons()