python matplotlib 画图一

参考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开始” “ ”

python matplotlib 画图一



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轴的取值范围


python matplotlib 画图一


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函数也可以一次绘制多条图形

python matplotlib 画图一



2、可以设置线的属性,如线宽,线的形状,线的颜色等等

(1)可以使用关键字参数来进行设置线的属性,例如:

t=np.arange(0.,5.,0.2)
plt.plot(t,t**2,linewidth=2.0,linestyle=':')
savefig('image_4.jpg')
plt.show()

python matplotlib 画图一

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

python matplotlib 画图一

下表是2D线形图线的属性,和对应的取值,可以通过调整对应的参数获得不同的图形,可以调用setp(line) 来查看图线的各属性

python matplotlib 画图一


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

python matplotlib 画图一

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

python matplotlib 画图一