如何让基本的交互式 pyqtgraph 绘图在 IPython REPL 或 Jupyter 控制台中工作?

jac*_*acg 6 ipython pyqtgraph

打字

import pyqtgraph as pg
pg.plot([1,2,3,2,3])
Run Code Online (Sandbox Code Playgroud)

进入标准 Python REPL 将打开一个包含数据图的窗口。在 IPython REPL 或 Jupyter 控制台中输入完全相同的代码,不会打开这样的窗口。

[可以通过键入 来显示该窗口pg.QtGui.QApplication.exec_(),但随后 REPL 会被阻止。

或者,当尝试退出 REPL 并需要确认时,会出现该窗口。

这两点都非常令人不满意。]

如何使用 IPython REPL 进行基本的交互式 pyqtgraph 绘图?

[在 IPython 5.1.0 和 Jupyter 5.0.0 以及 Python 3.5 和 3.6 以及 PyQt4 和 PyQt5(无 PySide)中观察到所描述的行为]

jac*_*acg 6

正如@titusjan所建议的,解决方案是输入

%gui qt
Run Code Online (Sandbox Code Playgroud)

(或该主题的一些变体:在发出任何 pyqtgraph(或一般的 PyQt)命令之前,%gui?查看IPython 中可用的其他选项)。