时间:2023-02-21 13:44:40 | 栏目:Python代码 | 点击:次
众所周知,matplotlib.pyplot 提供绘制不同表格绘制方法,如使用plot()方法绘制折线,bar()绘制柱
在matplotlib.pyplot 中还有一种图表用于直观表示占比情况的饼图,在matplotlib官网上也列举出非常多关于饼图的案例。
本期,我们将详细学习matplotlib 绘制饼图相关属性的学习,let's go~
本期,我们将适用饼图来分析操作系统市场占比情况
案例数据准备:使用random.randint产生5个数值
import numpy as np size = np.random.randint(0,100,5)
绘制饼图
import matplotlib.pyplot as plt\ plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"]) plt.title("手机系统占比分析") plt.show()
关键字:colors
可取值选项:None或者颜色列表
颜色列表可以由如下组成:
关键字:labels
默认为:None
需要传入列表形式的值
关键字:explode
默认为:None
需要传入列表数据
如果设置值后,其指定的部分会突出显示
关键字:autopct
默认为:None
可选择值形式:
从x轴逆时针旋转角度:startangle;默认为0,浮点类型
指定分数方向顺逆时针:counterclock;默认为True,bool类型
关键字:shadow
默认为False
在饼图下绘制出阴影
我们结合第一节的案例添加一些属性,需要显示占比数值,颜色显示指定颜色,突出MAC占比
plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"], autopct="%1.1f%%", explode=[0,0.1,0,0,0], colors=("r","blue","#88c999",(1,1,0),"0.5"))
我们在实际制作饼图时,会遇到改变饼图的大小,这是我们可以借助饼图属性关键字radius
radius:设置饼图半径大小
除此之外,我们还要使用textprops来控制显示的标签的大小
plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"],autopct="%1.1f%%", explode=[0,0.1,0,0,0], colors=("r","blue","#88c999",(1,1,0),"0.5"),radius=0.5,textprops={'size':"smaller"})
我们在饼图中显示各项占比情况时,会在图表的旁边添加一组图例说明。
La = ["Windows","MAC","Linux","Android","Other"] def f(pct,n): num = int(round(pct*np.sum(n))) return "{:.1f}%\n{:d}w".format(pct,num) wedges ,text,autotexts =plt.pie(size,autopct=lambda pct: f(pct,size), colors=("r","blue","#88c999",(1,1,0),"0.5"),textprops=dict(color='w')) plt.legend(wedges,La,loc="right",bbox_to_anchor=(1,0,0.3,1))
在饼图中,我们有时候也用到嵌套镂空的饼图。
cmap = plt.get_cmap("tab20c") plt.pie(size, colors=("r","blue","#88c999",(1,1,0),"0.5"),textprops=dict(color='w'),wedgeprops=dict(width=0.3,edgecolor='w')) plt.pie(size, colors= cmap(np.arange(3)*5),radius=0.7,wedgeprops=dict(width=0.3,edgecolor='w'),textprops={'size':"smaller"})
本期,对matplotlib.pyplot 绘制饼图pie()相关属性的学习。在绘制饼图时,我们会根据实际需求改变饼图的大小,嵌套饼图、添加柱状图等图形辅助查看
以上是本期内容,欢迎大佬们点赞评论,下期见~