参考代码中的
%matplotlib inline
是一个魔法函数(magic function),只能用在IPython中。具体作用是当你在IPython中使用matplotlib.pyplot.plot()进行绘制或者生成一个figure画布的时候可以直接在python console里面生成图像。而这个在pycharm中是行不通的,在pycharm中还是得使用plt.show()。
但出现了一些问题,这里记录解决。尝试代码
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(1, 11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x, y)
plt.show()
Setting->Tools->Python Scientific->Show plots in Toolwindow ,然后取消勾选后运行代码。结果是闪了一个黑框后pycharm提示
Process finished with exit code -1073741819 (0xC0000005)
注释掉最后一行的时候程序正常结束return 0。
在StackOverflow上的问题Process finished with exit code -1073741819 (0xC0000005) Pycharm提到有很多问题都可能触发Access Violat Error:0xc0000005。
但当我把解释器换成anaconda自带的解释器而不是我的虚拟环境的时候它就能显示图片。
重装了matplotlib,解决。环境问题真是繁琐又不可避免。