python - 使用pyqtgraph绘图而不显示

标签 python python-2.7 pyqt pyqt5 pyqtgraph

我正在尝试从 matplotlib 转向使用 pyqtgraph 进行绘图,因为它具有更快地渲染和保存图像的能力。当我尝试在具有多处理器的集群上执行此操作时,我遇到了以下问题:

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-user' qt.qpa.screen: QXcbConnection: Could not connect to display Could not connect to any X display.

如何避免显示绘图并将其直接保存到文件?这是我对代码的尝试:

from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg
import pyqtgraph.exporters

#app = QtGui.QApplication([])
#view = pg.GraphicsView()
l = pg.GraphicsWindow()
#view.setCentralItem(l)
#view.show()
#view.setWindowTitle('GraphicsLayout')
#view.resize(1000,1600)


def plotlayout(lines):
    p_res={}
    p_data={}
    for rows in rows:
        p_res[row]={}
        p_data[row]={}       
        for col in cols:
            l2=l.addLayout()
            p_res[row][col]=l2.addPlot()
            p_res[row][col].hideAxis('bottom')
            l2.nextRow()
            p_data[row][col]=l2.addPlot()
            l.nextColumn()
        l.nextRow()
    return p_res, p_data    
pl = plotlayout(lines) 
pl[0].plot([1,3,5,9,7,8],[2,3,3,5,6,8])                
pl[1].plot([1,3,5,9,7,8],[2,22,3,45,6,8])
if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()
        QtGui.QApplication.exit()
        QtGui.QApplication.quit()
        QtGui.QApplication.quitOnLastWindowClosed()
        QtGui.QApplication.closeAllWindows()
exporter = pg.exporters.ImageExporter(l.scene())
exporter.export('fits.ps')

我已经在我的个人笔记本电脑上对此进行了测试,效果很好。

最佳答案

如果您想在不使用桌面环境/窗口管理器的情况下运行 GUI,可能的解决方案是使用 Xvfb .

关于python - 使用pyqtgraph绘图而不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57315719/

相关文章:

python - 如何在已经包含 python 3.7.5 的 Ubuntu 19.10 上安装 python 3.6.5?

python - 如何使用类型函数为方法编写 python 多语言单元测试?

python - curl 请求以恢复 Elasticsearch 中的快照有效,但python中的相同请求不起作用

python - PyQt5如何设置TabWidget向西但保持文本水平

python - 如何将图像裁剪、调整大小表示为仿射变换?

Python多重继承,如果两个基类都持有相同的方法,则调用第二个基类方法

python - 如何在单击按钮时打开文件 PySimpleGui

python - Geopandas 安装

python - 计算 QTextEdit 中有多少填充行

python - QDialog 未从主窗口打开(pyQt)