参考:http://blog.csdn.net/ikerpeng/article/details/20370041
matplotlib是Python另一个非常重要的工具包。使用它可以绘制精美的图表。它学起来也是非常容易。下面来一步一步的学习它。
1,matplotlib是面向对象的,组成的各个元素都是对象。使用pyplot模块可以迅速的绘图。下面这个例子可以基本上让你学会绘图了。
- <span style="font-size:14px;"> 1 import numpy as np
- 2 import matplotlib.pyplot as plt
- 3
- 4 x=np.linspace(0,10,1000)
- 5 y=np.sin(x)
- 6 z=np.cos(x**2)
- 7
- 8 plt.figure(figsize=(8,4))
- 9
- 10
- 11 plt.plot(x,y,label='$sin(x)$',color='red',linewidth=2)
- 12
- 13 plt.plot(x,z,'g--',label='$cos(x^2)$',lw=3)
- 14
- 15 plt.xlabel('Time(s)')
- 16 plt.ylabel('volt')
- 17 plt.title('First python firgure')
- 18 plt.ylim(-1.2,1.2)
- 19 plt.legend()
- 20
- 21 plt.show()
- ~ </span>
1-6行是在前面已经学习过的了;8行表示绘制一个图,大小为8*4(默认值是每个单位80像素);11,13行表示:绘制x和y,x和z的函数图像。前者标签是sin(x),颜色是红色,线的粗细为2(默认为1);后者的颜色是绿色(g代表的绿色),线条的样式是‘--’,标签是cos(x^2),线条的粗细为3(linewidth可简写为lw)。这个标签会通过19行代码显示在一个旁边的小矩形里面。图像如图所示:
![](https://img-blog.csdn.net/20140303142742203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWtlcnBlbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
通过这个例子已经基本上学会了plot绘图了。
2,绘制多个子图使用subplot(a,b,c)命令,里面有三个参数,分别代表每一行,每一列的子图的个数和当前子图的编号。当这三个参数都小于10的时候可以省略其中的','。
我们还是从一个例子开始:
- 1 import matplotlib.pyplot as plt
- 2 for idx,color in enumerate('rgbyck'):
- 3 plt.subplot(321+idx,axisbg=color)
- 4 plt.show()
上面321表示产生3*2个图像,从第一个图像开始,给每一个子图加上相应的背景颜色。结果如图所示:
如果下画出如下所示的图像:
![](https://img-blog.csdn.net/20140303150145734?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWtlcnBlbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
输入如下代码便可以。
- >>> import matplotlib.pyplot as plt
- >>> plt.subplot(221)
- >>> plt.subplot(222)
- >>> plt.subplot(212)
-
- >>> plt.show()