绘制一个最简单的折线图
现在绘制一个简单的二维折线图,按如下代码画出折线图:
# -*- coding: utf-8 -*-
#matplotlib小测试
'''
import matplotlib.pyplot as plt #导入库
plt.plot([2,4,6,8,10],[3,1,4,5,2]) #给图形x,y轴拐点赋值,并生成2D图形
plt.xlabel('Course') #生成x轴标签
plt.ylabel('Grade') #生成y轴标签
plt.savefig('../picture/test1',dpi=600) #在当前文件夹中生成图形图片
plt.show()
'''
注意:1.dpi参数指定图像的分辨率为600
2.在关闭show()
函数弹出的图像窗口前,show()
函数后面的代码不会运行,直到用户关闭图像窗口,才会继续。
运行结果如下:
外加一步坐标轴的控制,代码如下:
#matplotlib 综合小测试
'''
import matplotlib.pyplot as plt
plt.plot([2,4,6,8,10],[3,1,4,5,2])
plt.xlabel('Course')
plt.ylabel('Grade')
plt.axis([0,10,0,6])
plt.savefig('../picture/test2',dpi=600)
plt.show()
'''
注意:下面形式的函数可以控制图像的绘图范围:plt.axis([x_min, x_max, y_min, y_max])
运行结果如下:
绘制不同风格的线条
线条风格
线条颜色
线条标记
同一区域绘制多图,代码如下
#同一绘图区域绘制多图
'''
import numpy as np
import matplotlib.pyplot as plt
a=np.arange(10)
plt.plot(a,a**2,'b>--',label='a')
plt.plot(a,a**3,'yD-',label='b')
plt.plot(a,a**4,'gs',label='c')
plt.plot(a,a**5,'rx--',label='d')
plt.plot(a,a**6,'md-',label='e')
plt.savefig('../picture/test3',dpi=600)
plt.legend()
plt.show()
'''
解释一下,plot函数中,x,y后面的参数分别用来控制线条颜色,线条风格,线条标记,可根据以上参考选择自己喜欢的风格
运行结果如下:
多区域绘图,代码如下:
#多区域绘图
'''
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(322)
plt.plot(a,f(a))
plt.subplot(323)
plt.plot(a,np.cos(2*np.pi*a),'r-',color='r')
plt.subplot(324)
plt.plot(a,np.sin(2*np.pi*a),'r--',color='green')
plt.subplot(325)
plt.plot(a,np.tan(2*np.pi*a),'r*',color='yellow')
plt.savefig('../picture/test5',dpi=600)
plt.show()
'''
运行结果如下:
绘制饼图,代码如下:
#绘制饼图
'''
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=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)
plt.savefig('../picture/test4',dpi=600)
plt.show()
'''
运行结果如下:
绘制条形图,代码如下:
#绘制条形图
'''
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=10)
plt.savefig('../picture/test6',dpi=600)
plt.show()
'''
注意:tu'xian
函数plt.title()
用来对图像命名。
运行结果如下:
关于matplotlib绘图,里面包含着很多的知识,在这里几乎不可能全部覆盖到, 初学者,先列举一些自己所学到的,大家可以参考一下哦!!!