TVP

# python matplotlib study

Matplotlib是一个图形库，是以Numpy库为基础的一个库。我们主要看到的是Artist层。其结构如下图。

1.画线，

import matplotlib.pyplot as plt

import numpy as npt=np.arange(0,6.28,0.1)

t1=np.arange(0,20,0.5)

y1=np.sin(t)

#y2=np.cos(t1)plt.title('study the matplotlib',fontsize=20,fontname='Times New Roman')plt.plot(t1,y2,'r--')

2.画数学函数，

import matplotlib.pyplot as plt import numpy as npt=np.arange(0,6.28,0.1)

t1=np.arange(0,20,0.5)

y1=np.sin(t)

y2=np.cos(t1)

plt.subplot(2,1,1)

plt.title('study the matplotlib',fontsize=20,fontname='Times New Roman')

plt.plot(t,y1,'b--')

plt.subplot(2,1,2)

plt.plot(t1,y2,'r--')

plt.plot(t)

plt.xlabel('the x axis value',color='red')

plt.ylabel('the y value',color='blue')

plt.text(0.8,0.8,'python_matplotlib')

plt.text(10,4,'\$y=cos(x)\$',fontsize=10,bbox={'facecolor':'yellow','alpha':0.9})

plt.grid(True)

plt.legend(['first series','second series'],loc=1)

plt.show()

3.画直方图

4.画条状图，

index=['A','B','C','D','E']

values=[5,7,3,4,7]

std1=[0.8,0.4,-.6,0.9,1.4]

plt.title('The bar chart')

plt.barh(index,values,xerr=std1,error_kw={'ecolor':'0.1','capsize':6},alpha=0.7,label='First')

plt.yticks(index,['A+B','B+C','C+D','D+E','E+F'])

plt.legend(loc=4)

plt.grid()

plt.show()

5.多序列条状图（多序列水平条状图），

# multiseries bar chart

series1=np.array([3,4,5,6,7])

series2=np.array([4,5,6,7,8])

series3=np.array([5,6,7,8,9])

index=np.arange(1,6)

plt.axis([0,8,0,30])

plt.bar(index,series1,color='b',hatch='xx')

plt.bar(index,series2,color='g',hatch='///',bottom=series1)

plt.bar(index,series3,color='r',hatch='\\\\\\',bottom=(series1+series2))

plt.xticks(index+0.1,['Jan13','Feb15','Mar16','Apr19','June1'])

plt.show()

6.对比倒影条状图，

y1=np.array([1,3,4,6,4,3,2,1])

y2=np.array([1,2,5,4,3,3,2,1])

plt.ylim([-7,7])

plt.bar(x0,y1,0.9,facecolor='r',edgecolor='w')

plt.bar(x0,-y2,0.9,facecolor='b',edgecolor='w')

plt.xticks(())

plt.grid(True)

for x,y in zip(x0,y1):

plt.text(x+0.2,y+0.1,'%d' %y,ha='center',va='bottom')

for x,y in zip(x0,y2):

plt.text(x+0.2,-y-0.5,'%d' %y,ha='center',va='bottom')

plt.show()

7.画等高线图

dx=0.01; dy=0.01

x=np.arange(-2,2,dx)

y=np.arange(-2,2,dy)

X,Y=np.meshgrid(x,y)

def f(x,y):

return (1-y**5+x**5)*np.exp(-x**2-y**2)

C=plt.contour(X,Y,f(X,Y),8,colors='black')

plt.contourf(X,Y,f(X,Y),8)

plt.clabel(C,inline=1,fontsize=10)

plt.colorbar()

plt.show()

8.画多面板图形，

gs=plt.GridSpec(3,3)

fig=plt.figure(figsize=(6,6))

x1=np.array([1,3,2,5])

y1=np.array([4,3,7,2])

x2=np.arange(5)

y2=np.array([3,2,4,6,4])

s1.plot(x1,y1,'r')

s2.bar(x2,y2)

s3.barh(x2,y2,color='g')

s4.plot(x2,y2,'k')

s5.plot(x1,y1,'b^',x2,y2,'yo')

plt.show()

• 发表于:
• 原文链接http://kuaibao.qq.com/s/20180501G02GNI00?refer=cp_1026
• 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号（企鹅号）传播渠道之一，根据《腾讯内容开放平台服务协议》转载发布内容。
• 如有侵权，请联系 cloudcommunity@tencent.com 删除。

2023-02-03

2023-02-03

2023-02-03

2023-02-03

2023-02-03

10元无门槛代金券