pyqtgraph:如何添加大量的图

时间:2013-10-25 13:56:07

标签: pyqtgraph

当我点击一个按钮时,我想在graphicsLayoutWidget中添加大约200个图。但现在gui冻结了大约10秒钟。 我怎么能避免这种情况。

1 个答案:

答案 0 :(得分:2)

这是pyqtgraph中的一个缺陷。

看起来大部分初始化时间都用于创建上下文菜单。 PlotItem .__ init__和ViewBox .__ init__都有" enableMenu"参数,但将它们设置为False只会使菜单停止显示,并且不会阻止它们被创建。

因此,解决此问题的最简单方法是简单地避免创建菜单,更好的方法是推迟菜单创建,直到用户右键单击绘图。您可以通过查看以下代码来尝试前一种解决方案:https://github.com/lcampagn/pyqtgraph/tree/deferred_menu

在该代码下,以下示例运行得更快:

import pyqtgraph as pg
w = pg.GraphicsWindow()
for i in range(20):
    for j in range(20):
        w.addPlot(enableMenu=False)
    w.nextRow()

后一种解决方案需要更广泛的改变。通过避免显示AxisItems

可以进一步提高性能