1. 饼图
1.1 最基础的饼图
代码:
import matplotlib.pyplot as plt
labels="dogs","cats"
sizes=[0.44,0.56]
plt.pie(sizes,labels=labels)
plt.show()
作图效果:
1.2 其他功能
import matplotlib.pyplot as plt
labels='AliPay','99Bill','JD','UMP','1qianbao','YeePay'\
,'UnionPay','TENPay','Suning','others'
sizes=[0.551,0.006,0.009,0.006,0.015,0.005,\
0.003,0.389,0.002,0.014]
explode=(0.1,0,0,0,0,0,0,0,0,0) # 把AliPay突出显示
plt.figure(figsize = (10,8)) #创建图像(可以理解为空白的画布)
plt.pie(sizes,explode=explode,labels=labels)
plt.axis('equal') #确保图是正圆形状
plt.legend(loc = 1,fontsize = 12)
plt.show()
作图效果:
2.直方图
1、条形图 是用条形的 “长度” 表示各类别频数的多少,其宽度(表示类别)则是固定的。 2、直方图 是用 “面积” 表示各组频数的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距,因此其高度与宽度均有意义。
代码:
y = np.random.standard_normal((1000,1))
plt.figure(figsize = (8,4))
label='1st'
plt.hist(y,100,label =label)#改变第二个参数的大小,改变宽度
plt.xlabel('value',fontsize = 18)
plt.ylabel('frequency',fontsize = 18)
plt.title('Example 9-8 Histogram',fontsize = 18)
plt.legend(loc = 1,fontsize = 18)# 图例的位置
plt.grid()
plt.show()
作图效果:
3.散点图
3.1 用scatter函数绘制
y = np.random.standard_normal((1000,2)) #生成两组数据
plt.figure(figsize = (8,4))
plt.scatter(y[:,0],y[:,1],marker = 'o') #绘图函数
plt.xlabel('1st',fontsize = 18)
plt.ylabel('2nd',fontsize = 18)
plt.title('Example 9-10 Scatter Plot',fontsize = 18)
plt.show()
作图效果:
3.2 面向对象绘制
代码:
import numpy as np
import matplotlib.pyplot as plt
figuer,ax=plt.subplots() #有两个返回值,我个人的理解:figuer是一个空白的画布,ax则是绘图的坐标系
# y = np.random.standard_normal((100,2))
# ax.plot(y[:,0],y[:,1],'o')
ax.plot(np.random.randn(100),np.random.randn(100),'o')
plt.show()
作图效果: