MatplotLib库是Python中最常用的第三方绘图库,他的API设计大部分模仿自matlab。因此matplotlib与matlab的使用十分相像。
以下程序段在各种环境下均可运行,但推荐在spyder下运行。
- 一维、二维数据的绘图与保存
import matplotlib.pyplot as plt
plt.plot([3,2,1,4,5])
plt.ylabel("grade")
plt.savefig("test",dpi=200) # dpi(Dots Per Inch,每英寸点数,代表图形质量)
plt.show() # 在IPython环境下展示图像
对于一维数据,默认列表值为纵坐标,而列表的索引为横坐标。绘图结果如下
如果要在matlab中实现上述绘图,应写代码如下,可将两者进行对比。
a=[3,2,1,5,4];
plot(a);
以下是一个二维数据绘图的小例:
import matplotlib.pyplot as plt
plt.plot([0,2,4,6,8],[3,2,1,4,5])
plt.ylabel("grade")
plt.axis([-1,10,0,6])
plt.savefig("test",dpi=200) # dpi(Dots Per Inch,每英寸点数,代表图形质量)
plt.show() # 在IPython环境下展示图像
- 绘图区域分割
import numpy as np
import matplotlib.pyplot as plt
def f(t):
return np.exp(-t)*np.cos(2*np.pi*t)
a=np.arange(0,5,0.02)
b=f(a)
plt.subplot(2,1,1) # 也可以简写为plt.subplot(212)
plt.plot(a,b)
plt.subplot(2,1,2)
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.show()