线形图 plt.plot()
from matplotlib import pyplot as plt import numpy as np from matplotlib import font_manager x = range(2,26,2) y = [15,13,14.5,17,20,25,26,26,27,22,18,15] # 设置图片大小 plt.figure(figsize=(20,8),dpi=80) # 绘图 plt.plot(x,y) # # 如何绘制多条线段 # x1 = np.linspace(0,10,num=5) # y1 = (x1 + 2) / 2 # plt.plot(x1,y1) # 设置x,y轴的刻度 _xtick_labels = [i/2 for i in range(4,49)] plt.xticks(_xtick_labels) plt.yticks(range(min(y),max(y)+1)) # 保存图像 plt.savefig('./pic.png') # 可以保存为svg矢量图格式,放大不会有锯齿 # 展示图形 plt.show()
![](https://pic4.zhimg.com/v2-c1139525272b2130c0724cfd2b04fdd8.jpg)
# 设置图例legend() a = np.linspace(-np.pi,np.pi,num=5) b = 1 - a**2 # 设置线段的样式 #ls:['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | ``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` | ``' '`` | ``''``] plt.plot(x,y,label='xy轴',c='red',alpha=0.5,ls='dashdot') # 设置点的样式 plt.plot(a,b,label = 'ab轴',marker='8') plt.legend() # 加入标识 plt.xlabel('temp') plt.ylabel('dist') plt.title('temp&dist') # 解决中文显示问题 plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 指定默认字体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 # 绘制网格 plt.grid(alpha=0.4) plt.show()
![](https://pic2.zhimg.com/v2-9b7953e63b7fbfd6ca268c1c3efdb830.jpg)
柱形图 plt.bar() plt.barh()
x = [1,2,3,4,5] y = [5,4,3,2,1] # 柱子的高度 plt.bar(x,y,width=0.3) # width控制柱子的宽度
![](https://pic1.zhimg.com/v2-b0940bc337e1b03e1bfb4d24f02be613.jpg)
plt.barh(x,y)
![](https://pic1.zhimg.com/v2-1d67cb59b4229791f893e3d6dbd9a0f7.jpg)
直方图 plt.hist()
x = [1,2,2,2,3,3,3,4,4]
plt.hist(x,bins=4)
![](https://pic3.zhimg.com/v2-9b99e0285b85ab8577b565a0805ef0d0.jpg)
x = [1,2,2,3,3,3,4]
plt.hist(x,bins=10,density=True)
![](https://pic3.zhimg.com/v2-1ab91c45843a7eb1b6ab1374ca124981.jpg)
饼图 plt.pie()
arr = [11,22,31,15] plt.pie(arr, labels=['a','b','c','d'])
![](https://pic4.zhimg.com/v2-123140c2ae188258a35dbda2d003b77b.jpg)
plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,autopct='%.6f%%')
![](https://pic2.zhimg.com/v2-40d7873eeba3080e857349cea0c0d5e5.jpg)
plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3,shadow=True,explode=[0.2,0.3, 0.2,0.4])
![](https://pic4.zhimg.com/v2-7e8b5c3977fd449b9eb788965ecc9351.jpg)
arr = [0.2, 0.3, 0.1]
plt.pie(arr)
![](https://pic2.zhimg.com/v2-db2ed1006a851487f6581a0523a061fe.jpg)
散点图 plt.scatter()
x = np.linspace(-np.pi, np.pi,10) y = x ** 2 plt.scatter(x,y)
![](https://pic4.zhimg.com/v2-cdb3700b0ad4187dd0605fe385b997a4.jpg)
x = np.random.random(size=(20,)) y = np.random.random(size=(20,)) plt.scatter(x,y)
![](https://pic4.zhimg.com/v2-37ea9aa350c29dcb79293001c792e029.jpg)
参考: