PyCharm无法显示情节并且非常慢

时间:2018-12-07 11:52:57

标签: python pycharm pyqtgraph

我第一次尝试使用PyCharm,但无法显示我的情节。你能告诉我我错过了什么吗?我在同一篇文章中对2个问题进行了分组,因为我觉得它实际上是同一错误,但我不确定。我在Mac OS 10.11.6(El Capitan)下使用的是python 3.7,并且不想升级。

问题:使用相同的代码,在PyCharm中打开python控制台并进行基本绘图即可,但是非常慢(下面的基本示例需要几秒钟,为什么?),而直接用PyCharm运行它(单击绿色)三角形)不显示任何内容:无图,无消息。为什么?

代码示例:

x = np.arange(10)
y = np.arange(10)+10
pg.plot(x,y)

在python控制台中,几秒钟后,将给出预期的绘图。使用“运行”按钮,它什么也没有。请注意,我将“启动”代码复制粘贴到上述3行之前:

import os
import numpy as np
os.environ['PYQTGRAPH_QT_LIB'] = 'PyQt5'
import pyqtgraph as pg

“运行”控制台只是说:

/Users/<username>/anaconda/envs/py37/bin/python /Users/<username>/work/perso/sof/test.py
Process finished with exit code 0

更新1:15 pm

根据安德鲁评论的想法,我用matplotlib尝试了同样的方法(与pyqtgraph相比通常很痛苦),并且有效:

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y = np.arange(10)+10
plt.plot(x,y)
plt.show()

给出了情节,但是我想使用pyqtgraph(在标签中添加),通常上面的3行就足够了:不需要'show'命令。


更新3:20 pm

我也使用plotWidget尝试了相同的操作,但是它显示了相同的问题。以下代码:

import numpy as np
x = np.arange(10)
y = np.arange(10)+10
import os
import pyqtgraph as pg
os.environ['PYQTGRAPH_QT_LIB'] = 'PyQt5'
plotWidget = pg.plot(title='test')
plotWidget.plot(x,y)
plotWidget.plot(x,2*y)
plotWidget.plot(x,3*y)

在python控制台中复制粘贴时提供了预期的3行图,但“运行”按钮或快捷方式(相同的“运行”控制台)没有任何反应。

1 个答案:

答案 0 :(得分:0)

Have a look at the pyqtgrap examples复制第一个示例并将其粘贴到pycharm中,就可以了。 (带有MacOS Mojave的Python 3.7)

您需要启动pyqt事件循环以查看所绘制的内容

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

将其添加到脚本的末尾应该可以解决打印问题。关于控制台的问题,pycharm中的控制台默认为iPython,因此您需要运行

%gui qt5  

为了用pyqtgraph进行绘图,但是在我的系统上出现错误。

也许您可以考虑使用different IDE such as spyder。我从那里测试了绘图,效果很好。