今天,我将介绍一款超好用的工具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)

如下图所示

python二维图数据分析库 python画二维图像_matplotlib


你可以改变其参数绘制任意图形。

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')

结合上述给的参数绘制如下:

python二维图数据分析库 python画二维图像_机器学习_02

这里只是给出了线型的图像绘制样式,其他形式的图像可以查找相关文档.

组合图的绘制

把绘图代码放在一起,并且两张图的横坐标相同,才能被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')

python二维图数据分析库 python画二维图像_机器学习_03

这个命令也可以实现组合图,将两个画布的参数大小设置成相同的数值即可。上述图像将变成:

python二维图数据分析库 python画二维图像_图像绘制_04

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')

结果如下

python二维图数据分析库 python画二维图像_matplotlib_05

如果要设置坐标轴标题以及图表标题可以通过命令

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])

如有错误,还望指正,谢谢。