参考matploylib的官方文档http://matplotlib.org,进行了逐步的学习
1、单个图形的绘制
#导入画图包
import matplotlib.pyplot as plt
#savefig模块可以保存图片
from matplotlib.pyplot import savefig
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
savefig('image_1.jpg',dpi=72)
plt.show()
“ ” “默认情况下,python会将x,y轴设置为相同长度,但是x轴默认从0开始” “ ”
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.pyplot import savefig
plt.plot([1,2,3,4],[1,4,9,16],'ro')
plt.axis([0,6,0,20])
savefig('image_2.jpg',dpi=72)
plt.show()
# axis([xmin,xmax,ymin,ymax]) 用来设定x,y轴的取值范围
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.pyplot import savefig
#导入numpy模块,可以用来生成需要的参数
import numpy as np
t=np.arange(0.,5.,0.2)
plt.plot(t,t,'r--',t,t**2,'bs',t,t**3,'g^')
savefig('imge_3.jpg',dpi=72)
plt.show()
#plot函数也可以一次绘制多条图形
2、可以设置线的属性,如线宽,线的形状,线的颜色等等
(1)可以使用关键字参数来进行设置线的属性,例如:
t=np.arange(0.,5.,0.2)
plt.plot(t,t**2,linewidth=2.0,linestyle=':')
savefig('image_4.jpg')
plt.show()
(2)可以通过生成对象,修改对象的参数来进行图形的修改
t=np.arange(0.,5.,0.2)
line,=plt.plot(t,t**2,'bs') #绑定对象
line.set_antialiased(False)
plt.setp(line,color='r',linewidth=2.0)
savefig('image_5.jpg')
plt.show()
下表是2D线形图线的属性,和对应的取值,可以通过调整对应的参数获得不同的图形,可以调用setp(line) 来查看图线的各属性
3、多个图形的绘制
当需要绘制多个图形时,可以使用figure(i)来生成图形,i为图形的索引,意即第几个图形,可以使用subplot(a,b,c) 将单个图形进行分割,可以在一张figure中生成多个图形
subplot参数的意思是将单个figure 划分为a*b个,选择第c个图形
def f(t):
return np.exp(-t)*np.cos(2*np.pi*t)
t1=np.arange(0.0,5.0,0.1)
t2=np.arange(0.0,5.0,0.02)
plt.figure(1)
plt.subplot(2,1,1)
plt.plot(t1,f(t1),'bo',t2,f(t2),'k')
plt.subplot(2,1,2)
plt.plot(t2,np.cos(2*np.pi*t2),'r--')
savefig('imge_6.jpg')
plt.show()
4、为图形设置标题、图例
x=np.linspace(-np.pi,np.pi,2256,endpoint=True)
y1,y2=np.sin(x),np.cos(x)
plt.plot(x,y1,linewidth=2.0,color='r',label='sin(x)')
plt.plot(x,y2,color='b',label='cos(x)')
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True) #加上网格
plt.legend() #显示图例
savefig('image_7.jpg')
plt.show()