【问题标题】:pyqtgraph: how to add a large number of plotspyqtgraph:如何添加大量图
【发布时间】:2013-11-04 16:32:11
【问题描述】:

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

【问题讨论】:

    标签: pyqtgraph


    【解决方案1】:

    这是 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 可以进一步提高性能

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-19
      • 2013-05-17
      • 2021-08-01
      • 2019-05-31
      • 2021-01-27
      • 2020-03-23
      • 2013-05-17
      • 1970-01-01
      相关资源
      最近更新 更多