【问题标题】:Disable pyqtgraph plot window禁用 pyqtgraph 绘图窗口
【发布时间】:2018-06-11 01:23:19
【问题描述】:

作为我这个问题的延续: pyqtgraph for plotting multiple data lists

我设法使用 pyqtgraph 将我的绘图导出到文件。但我仍然得到 pyqtgraph 生成的窗口,以便尝试在那里创建绘图。这个窗口现在什么都没有显示,它是空的和白色的。当我使用常规 python 控制台时,过了一会儿这个窗口消失了,但是如果我使用 Ipython,窗口显示“没有响应”,当我关闭它时,Ipython 说“内核死了,正在重新启动”。

有没有办法完全禁用这个 pyqtgraph 窗口,只使用输出文件来创建绘图,以使其正常工作而不会出错?

我曾经用 matplotlib 来做这个(它弹出了相同的窗口,但是如果你使用命令matplotlib.use('Agg') 来更改后端,那么窗口就会停止弹出。

【问题讨论】:

    标签: python plot backend pyqtgraph


    【解决方案1】:

    哦,天哪……我刚刚想通了!我对SO的第一个回答,不要对我太苛刻。

    首先,确保您在类的构造函数(init 函数)中创建 pyqtgraph 图。在那里调用一次并立即隐藏它(这对我来说是复杂的部分)。

    这是一个示例代码:

    import numpy as np
    import pyqtgraph as pg
    import pyqtgraph.exporters
    
    
    class MyPlotClass():
        def __init__(self):
            self.windowplt = pg.plot()
            self.windowplt.win.hide()
    
        def savePlots(self):
            x = np.arange(0, 256)
            y = np.arange(0, 256)
            self.windowplt.plot(x, y)
            exporter = pg.exporters.ImageExporter(self.windowplt.plotItem)
            exporter.params.param('width').setValue(256, blockSignal=exporter.widthChanged)
            exporter.params.param('height').setValue(256, blockSignal=exporter.heightChanged)
            for i in np.arange(0,10):
                exporter.export('./fileName' + str(i) +  '.png')
                print(i)
    
    if __name__ == "__main__":
        saveMyFiles = MyPlotClass()
        saveMyFiles.savePlots()
    

    只有一个窗口会在拍摄期间出现并立即隐藏。 我知道您的问题很旧,但将来可能会对任何人有所帮助。我现在整天都在寻找解决方案。

    正如您在上一个线程pyqtgraph for plotting multiple data lists 中提到的那样,ImageExporter.py 错误仍然存​​在。如果要更改 pyqtgraph 库的代码,您可以通过自己设置宽度和高度来解决它(如上面的代码中所示)。

    exporter.params.param('width').setValue(256, blockSignal=exporter.widthChanged)
    exporter.params.param('height').setValue(256, blockSignal=exporter.heightChanged)
    

    【讨论】:

      猜你喜欢
      • 2014-06-20
      • 2019-06-11
      • 2012-10-25
      • 2019-04-26
      • 2020-08-01
      • 2018-07-19
      • 2019-02-02
      • 2018-03-05
      • 2019-03-03
      相关资源
      最近更新 更多