程序执行时pyqtgraph图不显示

时间:2018-10-23 01:12:14

标签: python plot python-idle pyqtgraph

我正在尝试学习如何使用pyqtgraph并尝试运行上述文档中给出的以下第一个简单示例:

#!/usr/bin/env python3

import pyqtgraph as pg

import numpy as np

x = np.random.normal(size=1000)

y = np.random.normal(size=1000)

pg.plot(x,y,pen=None,symbol='o',title='first graph')

我在具有Raspbian Stretch的Raspberry Pi 3上使用python 3.5.3。

如果我在Thonny或IDLE中运行上述程序,则该程序运行时不会出现任何错误,但不会显示任何输出。

类似地,如果我通过简单地调用程序名称(已使用chmod +x使它可执行)在Linux命令提示符下运行该程序,或通过在程序名称后键入python3来运行该程序,则它仍然不显示任何内容

但是,如果我在Linux提示符下键入python3并得到一个python提示符,然后逐个运行程序中的每一行,那么它将按预期在标题为“ first graph”的窗口中显示散点图。 / p>

有人可以让我知道通过Thonny或IDLE或作为程序调用时显示图的代码需要做什么吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

每个GUI都需要一个事件循环,而您没有创建它,在下面的代码中,我演示了如何做:

#!/usr/bin/env python3

import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import numpy as np


x = np.random.normal(size=1000)
y = np.random.normal(size=1000)
pg.plot(x,y,pen=None,symbol='o',title='first graph')


if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()

enter image description here

注意:不要使用任何IDE,因为许多IDE无法正确处理事件循环,请从终端执行它。