matplotlib是啥
Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。 Matplotlib可用于Python脚本,Python和IPython Shell、Jupyter 笔记本,Web应用程序服务器和四个图形用户界面工具包。
Matplotlib 尝试使容易的事情变得更容易,使困难的事情变得可能。 您只需几行代码就可以生成图表、直方图、功率谱、条形图、误差图、散点图等。 更多的示例,请参见基础绘图例子和示例陈列馆。
为了简单绘图,该 pyplot 模块提供了类似于MATLAB的界面,尤其是与IPython结合使用时。 对于高级用户,您可以通过面向对象的界面或MATLAB用户熟悉的一组功能来完全控制线型,字体属性,轴属性等。
所以matplotlib可以记成matlab+plot+library?
使用时经常使用pyplot模块,所以第一句程序
import matplotlib.pyplot as plt
matplotlib如何绘图
一个完整的matplotlib图像通常会包括以下四个层级,这些层级也被称为容器(container),下一节会详细介绍。在matplotlib的世界中,我们将通过各种命令方法来操纵图像中的每一个部分,从而达到数据可视化的最终效果,一副完整的图像实际上是各类子元素的集合。
Figure:顶层级,用来容纳所有绘图元素
Axes:matplotlib宇宙的核心,容纳了大量元素用来构造一幅幅子图,一个figure可以由一个或多个子图组成
Axis:axes的下属层级,用于处理所有和坐标轴,网格有关的元素
Tick:axis的下属层级,用来处理所有和刻度有关的元素
简单理解figure-axes-axis-tick的层级关系就是图-子图-坐标轴-刻度

matplotlib提供了两种最常用的绘图接口
-
显式创建figure和axes,在上面调用绘图方法,也被称为OO模式(object-oriented style)
-
依赖pyplot自动创建figure和axes,并绘图
在jupyter中绘图需要在首行添加
%matplotlib inline
使用第一种绘图接口,是这样的:
fig,ax=plt.subplots()
ax.plot(x,x,label='linear')
ax.plot(x,x**2,label='y2')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_title('aa')
ax.legend()
第二种
x = np.linspace(0, 2, 100)
plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()
有个问题在第一种方法时,如果代码分开写,只有第一张空白的画布图像显示,后面的都不会显示为图片,这是为啥啊。
Matplotlib是Python的2D绘图库,提供出版质量的图形。它支持多种图形和直方图的绘制,适用于Python脚本、shell、Jupyter notebook等。matplotlib提供类似MATLAB的接口,以及面向对象的API。图像由figure、axes、axis和tick四层构成。在Jupyter中,使用%matplotlib inline开启内联绘图。两种绘图接口分别是显式创建和依赖pyplot。在分开编写代码时,若不将图像显示语句放在一起,可能导致只有第一个图像显示。
3259

被折叠的 条评论
为什么被折叠?



