参考代码中的

%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,解决。环境问题真是繁琐又不可避免。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐