python中的matplotlib是什么_Python绘图问题: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 inline 可以在Ipython编译器里直接使用,功能是可以内嵌绘图,并且可以省略掉plt.show()这一步。

///

经常会看到这么一行代码

%matplotlib inline

但是放到自己的IDE环境下运行时,总是报错。

在Stack Overflow上看到了一个解释:

IPython有一组预定义的“魔术函数”,您可以使用命令行样式语法调用它们。有两种魔法,一种是线导向(line-oriented),另一种是单元导向(cell-oriented)。line magics以%字符作为前缀,其工作方式与操作系统命令行调用非常相似:它们作用于整行,line magics可以返回结果,也可以进行赋值使用;cell magics是以%%开头,它需要出现在单元的第一行,而且是作用于整个单元。

使用此方法时,绘制命令的输出将在前端显示,就像Jupyter笔记本一样,直接显示在生成命令的代码单元格的下方,生成的绘图也将存储在笔记本文档中。不过这个方法好像只适用于Jupyter notebook和Jupyter QtConsole。

理解可能有误,欢迎指正!

来源:https://stackoverflow.com/q/43027980

————————————————

版权声明:本文为CSDN博主「学不会coding的程序员」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_40941966/article/details/80957503

你可能感兴趣的:(python中的matplotlib是什么_Python绘图问题:Matplotlib中%matplotlib inline是什么、如何使用?...)