当前位置:首页 >> 脚本专栏

Matplotlib中%matplotlib inline如何使用

%matplotlib inline

是一个魔法函数(Magic Functions)。官方给出的定义是:IPython有一组预先定义好的所谓的魔法函数(Magic Functions),你可以通过命令行的语法形式来访问它们。可见“%matplotlib inline”就是模仿命令行来访问magic函数的在IPython中独有的形式。

magic函数分两种:一种是面向行的,另一种是面向单元型的。

行magic函数是用前缀“%”标注的,很像我们在系统中使用命令行时的形式,例如在Mac中就是你的用户名后面跟着“$”。“%”后面就是magic函数的参数了,但是它的参数是没有被写在括号或者引号中来传值的。

单元型magic函数是由两个“%%”做前缀的,它的参数不仅是当前“%%”行后面的内容,也包括了在当前行以下的行。

注意:既然是IPython的内置magic函数,那么在Pycharm中是不会支持的。

#内嵌画图
%matplotlib inline
import matplotlib # 注意这个也要import一次
import matplotlib.pyplot as plt
myfont = matplotlib.font_manager.FontProperties(fname=r'C:/Windows/Fonts/msyh.ttf') # 这一行
plt.plot((1,2,3),(4,3,-1))
plt.xlabel(u'横坐标', fontproperties=myfont) # 这一段
plt.ylabel(u'纵坐标', fontproperties=myfont) # 这一段
#plt.show() # 有了%matplotlib inline 就可以省掉plt.show()了

Matplotlib中%matplotlib inline如何使用

总结:%matplotlib inline 可以在Ipython编译器里直接使用,功能是可以内嵌绘图,并且可以省略掉plt.show()这一步。

%matplotlib inline报错

Matplotlib中%matplotlib inline如何使用

但是删掉又会不显示图表
解决:删掉这行代码,用 plt.show() 展示图表