Matplotlib(https://matplotlib.org/)是一个用来绘图的python库,它的matplotlib.pyplot模块提供了一个绘图系统。
matplotlib中最重要的函数就plot,它可以绘制二维图像
使用subplot函数,你就可以在同一个图像里绘制多个子图
#1.matplotlib小测试
import matplotlib.pyplot as plt #导入可视化库
plt.plot([4,1,4],[1,3,4],[1,3,4],[4,1,4])
#给图表拐点坐标赋值(当为一组数据时默认为y坐标,如果是两组或以上为(x,y)
plt.savefig('test0',dpi=600) #保存图表到当前位置
plt.savefig('../picture/test0',dpi=600) #保存图表到指定位置
plt.axis([1,8,1,10]) #定义xy轴的区域范围
plt.show() #在窗口显示图表
#2.matplotlib综合测试
import matplotlib.pyplot as plt
plt.plot([4,1,4],[1,3,4],[1,3,4],[4,1,4])
plt.xlabel('Grade')
plt.ylabel('Course')
plt.savefig('test1',dpi=600) #保存图表到当前位置
plt.savefig('../picture/test1',dpi=600) #保存图表到指定位置
plt.axis('equal') #定义xy轴的区域范围
plt.show() #在窗口显示图表
3.同一区域绘制多图
#3.同一绘图区域绘制多图
import numpy as np #导入科学计算库
import matplotlib.pyplot as plt
a=np.arange(0,150,2)
plt.plot(a,a*1.5,'ro-',label='a')
plt.plot(a,a*2.5,'gx--',label='b')
plt.plot(a,a*3.5,'y*',label='c')
plt.plot(a,a*4.5,'bs-',label='d')
plt.plot(a,a*5.5,'mH--',label='e')
plt.savefig('test2',dpi=600)
plt.savefig('../picture/test2',dpi=600)
plt.legend()
plt.show()
4.多区域绘图
#4.多区域绘图
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)
plt.subplot(321)
plt.plot(a,f(a))
plt.subplot(323)
plt.plot(a,np.cos(2*np.pi*a),'-.',color='r')
plt.subplot(324)
plt.plot(a,np.sin(2*np.pi*a),'--',color='g')
plt.subplot(325)
plt.plot(a,np.tan(2*np.pi*a),':',color='m')
plt.savefig('test3',dpi=600)
plt.savefig('../picture/test3',dpi=600)
plt.show()
5.饼图绘制
#5.饼图绘制
import matplotlib.pyplot as plt
labels='Frogs','Hogs','Dogs','Logs'
sizes=[15,30,45,10]
explode=(0,0.1,0,0)
plt.pie(sizes,explode,labels,autopct='%1.1f%%',shadow=True,startangle=90)
plt.axis('equal')
plt.savefig('test4',dpi=600)
plt.savefig('../picture/test4',dpi=600)
plt.show()
6.条形图绘制
#6.条形图绘制
#绘制2018所到2021年中国大陆地区生产口罩总量的条形图
import numpy as np
import matplotlib.pyplot as plt
datearr=['2018Y','2019Y','2020Y','2021Y']
num_masks=np.asarray([45.4,50,62.2,77])
plt.bar(datearr,num_masks,width=0.3)
plt.xlabel('2018年- -2021年',fontproperties='SimHei',fontsize=10)
plt.ylabel('数量/亿只',fontproperties='SimHei',fontsize=10)
plt.title('2018年—2021年中国大陆地区口罩生产量',fontproperties='SimHei',fontsize=15)
plt.savefig('test5',dpi=600)
plt.savefig('../picture/test5',dpi=600)
plt.show()