我第一次尝试使用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行图,但“运行”按钮或快捷方式(相同的“运行”控制台)没有任何反应。
答案 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。我从那里测试了绘图,效果很好。