今天,我将介绍一款超好用的工具matplotlib,它是支持python语言的开源绘图库,绘图类型丰富,绘图方式简单,深受大众喜爱。
在使用Notebook环境绘图时,需要先运行Jupyter Notebook的魔术命令
%matplotlib inline。
在桌面环境中绘图时,不需要添加此命令,在全部绘图代码后追加 **plt.show()**即可。
导入pyplot模块
from matplotlib from pyplot as plt
使用plt.plot()命令绘制简单的图
如:
x=[1,2,3,4,5,6,7,8]
y=[8,7,6,5,5,6,7,8]
plt.plot(x,y)
如下图所示
你可以改变其参数绘制任意图形。
plt.plot(x,y)命令有两个参数,在这里我用x,y表示,当你传入两个参数时,第一个参数将作为x值,第二个参数作为y值。当然,你也可以只给出一个参数,matplotlib会默认将该参数作为y值,而x值会从0开始。
总结一些常用的图形样式命令:
方法 | 含义 |
plt.plot.bar | 柱状图 |
plt.plot.barh | 直方图 |
plt.plot.contourf | 等高线图 |
plt.plot.errorbar | 误差线 |
plt.plot.pie | 饼状图 |
plt.plot.quiver | 量场图 |
plt.plot.scatter | 散点图 |
plt.plot.specgram | 光谱图 |
定义图形样式
在学会绘图命令后我们希望绘制的图像更美观些,这个时候就需要我们会使用一些设置图像样式的命令。
一些常用的命令
参数 | 含义 |
alpha | 线型透明度,范围从0.0到1.0 |
color | 线型颜色 |
fillstyle | 标记点填充样式 |
linestyle | 线型样式 |
linewidth | 线型宽度 |
marker | 标记点样式 |
使用范例:
plt.plot(x, y, alpha=0.5, color='b', fillstyle='none', linestyle='-', linewidth=3, marker='o')
结合上述给的参数绘制如下:
这里只是给出了线型的图像绘制样式,其他形式的图像可以查找相关文档.
组合图的绘制
把绘图代码放在一起,并且两张图的横坐标相同,才能被matplotlib自动判断为组合图。
子图绘制
使用到figure和axes命令。这里的figure相当于画板,axes相当于画布,即一个画板上可以有多个画布。
fig = plt.figure()
axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8])
axes2 = fig.add_axes([0.3, 0.5, 0.3, 0.4])
axes1.plot(x,y,'r')
axes2.plot(y,x,'p')
这个命令也可以实现组合图,将两个画布的参数大小设置成相同的数值即可。上述图像将变成:
matplotlib还有另一种添加画布的方法,那就是plt.subplots()。
fig,axes=plt.subplots()
axes.plot(x,y,'g')
实现子图的绘制
fig,axes=plt.subplots(nrows=1,ncols=5)
for i in axes:
i.plot(x,y,'r')
结果如下
如果要设置坐标轴标题以及图表标题可以通过命令
axes.set_xlabel('x轴的名称')
axes.set_ylabel(y轴的名称)
axes.set_title('图表标题')
实现子图自定义排序的命令
axes[0]
#‘0’可以是任意你希望排序的数字
显示画布网格的命令
axes.grid(True)
设置x,y轴的命令
axes.set_xlim([0,100])
axes.set_ylim([20,50])
如有错误,还望指正,谢谢。