首先要导入mayplotlib,是一个类似于matlab的工具包。
一.认识matplotlib
在任何绘图之前,我们需要一个Figure对象,可以理解成我们需要一张画板才能开始绘图。在拥有Figure对象之后,在作画前我们还需要轴,没有轴的话就没有绘图基准,所以需要添加Axes。
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set(xlim=[0.5, 4.5], ylim=[-2, 8], title='An Example Axes',
ylabel='Y-Axis', xlabel='X-Axis')
plt.show()
在处理复杂的绘图工作时,需要使用 Axes 来完成作画
fig = plt.figure()
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)
ax3 = fig.add_subplot(223)
ax4 = fig.add_subplot(224)
fig, axes = plt.subplots(nrows=2, ncols=2)
axes[0,0].set(title='Upper Left')
axes[0,1].set(title='Upper Right')
axes[1,0].set(title='Lower Left')
axes[1,1].set(title='Lower Right')
二.多种绘图方式
1.plot二维图
用linespace生成一组等间隔数据
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05, 10, 1000)
y = np.cos(x)
z=np.cos(2*x)
plt.plot(x, y, x,z,ls="-", lw=2, label="plot figure")
plt.legend()
plt.show()
进一步从数组中选择元素
mask=y>=0 //产生一组bool值
plt.plot(x[mask],y[mask],'ro-') //参数例如颜色,线条等和matlab基本类似
plt.legend()
plt.show()
以通过关键字参数的方式绘图
x = np.linspace(0, 10, 200)
data_obj = {'x': x,
'y1': 2 * x + 1,
'y2': 3 * x + 1.2,
'mean': 0.5 * x * np.cos(2*x) + 2.5 * x + 1.1}
fig, ax = plt.subplots()
#填充两条线之间的颜色
ax.fill_between('x', 'y1', 'y2', color='yellow', data=data_obj)
ax.plot('x', 'mean', color='black', data=data_obj)
plt.show()
2.scatter散点图
只画点