我在python 2.7中成功安装了pyqtgraph
库。我从GitHub分叉了最新的项目,然后是python setup.py install
。我现在正试图用它来展示情节。我打开一个python终端并开始键入以下内容: -
import pyqtgraph as pg
import numpy as np
x = np.random.normal(size=1000)
y = np.random.normal(size=1000)
所有这些命令都已成功解释。 但后来我运行命令将情节看作: -
pg.plot(x, y, symbol='o')
输出:
<pyqtgraph.graphicsWindows.PlotWindow at 0x6b7f708>
然后打开一个标题为pythonw
的窗口,并说“没有回应”#39;并挂起,我无法看到任何输出。经过长时间的窗口崩溃和终端说:
Kernel died, restarting
可能是什么错误?我应该安装使用.exe吗?
修改 正如titusjan下面指出的那样,问题在于Anaconda的默认Jupyter / Ipython笔记本,我无法纠正。必须有一些安装问题。我正在使用Windows。
答案 0 :(得分:1)
pyqtgraph
绘制基于PyQT GUI编程的函数。因此,显示绘图的任务必须被视为启动GUI。如上所述,当我将命令提供给IPython终端时,它运行良好:
import numpy as np
import pyqtgraph as pg
import sys
x = np.random.normal(size=1000)
y = np.random.normal(size=1000)
如上所述,当我输入该行时问题开始:
pg.plot(x, y, symbol='o')
要解决这个问题:要么一次性输入这两行
pg.plot(x, y, symbol='o')
pg.QtGui.QApplication.exec_()
或紧接在上一行pg.plot(x, y, symbol='o')
之后输入以下行:
pg.QtGui.QApplication.exec_()
或者我们也可以使用默认的QT-GUI命令。因此,即使我们运行此代码,我们也会得到正确的图: -
import numpy as np
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import sys
x = np.random.normal(size=1000)
y = np.random.normal(size=1000)
pg.plot(x, y, symbol='o')
if sys.flags.interactive != 1 or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
但是,如果要避免显式调用QTGui方法,假设已将下面的代码保存为xyz.py
,则可以通过在命令行上写入来成功运行显示图形的代码:pythonw -i xyz.py
。这确保已明确要求python以交互模式运行。 pythonw
用于在Windows中运行。
import numpy as np
import pyqtgraph as pg
x = np.random.normal(size=1000)
y = np.random.normal(size=1000)
pg.plot(x, y, symbol='o')