matplotlib 笔记:饼图 & 嵌套饼图

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matplotlib 笔记:饼图 & 嵌套饼图相关的知识,希望对你有一定的参考价值。

1 饼图

基本使用方法:plt.pie(x)

x=[109,101,94,117]
plt.figure(figsize=(8,8))
label=['魏','蜀','吴','群']
plt.pie(x,labels=label)
plt.title('三国杀移动版各势力武将数量')

 

 

1.1 参数说明

autopct

设置百分比信息的字符串格式化方式,默认值为None,不显示百分比

 

 

也可以将autopct设置成lambda函数(lambda的输入是各个饼图分块的百分比)【以上图为例,即23.99,25.89,22.33,27.79这些】

 

 

设置文字大小

 

colors

每部分颜色

 

 

shadow

设置饼图的阴影,使得看上去有立体感,默认值为False

 

 

startangle

饼图中第一个部分的起始角度

 

 

radius

饼图的半径,数值越大,饼图越大

 

 

 explode

用间隔突出的方式进行显示某个部分

 

那么第三个饼图的部分(也就是吴),会和相邻的其他两个饼图的部分之间有一定的“缝隙”

 

counterclock

设置饼图的方向,默认为True,表示逆时针方向,值为False时为顺时针方向

 

labeldistance

label距离图的距离

 

 

wedgeprops

设置宽度?

 

2 嵌套饼图

相当于是同时绘制两个饼图 

inner_x=[109,101,94,117]
inner_label=['魏','蜀','吴','群']
plt.figure(figsize=(10,10))
plt.pie(inner_x,
        labels=inner_label,
        radius=0.5, 
        autopct=lambda pct:int(pct/100*sum(inner_x)),
        labeldistance=0.25,
        colors=['#d0fefe','#cb416b','#0cff0c','grey'],
        wedgeprops=dict(width=0.5,edgecolor='white'))




outer_x=[25,109-25,26,101-26,26,94-26,26,116-26]
outer_label=['国战魏','非国战魏','国战蜀','非国战蜀',
             '国战吴','非国战吴','国战群','非国战群']
plt.pie(outer_x,
        labels=outer_label,
        radius=1,
        labeldistance=0.75,
        autopct=lambda pct:int(pct/100*sum(outer_x)),
        colors=['#95d0fc','#a2cffe','#ff796c','#ff028d',
                '#c7fdb5','#aaff32','#b9a281','#d8dcd6'],
        wedgeprops=dict(width=0.5,edgecolor='white'))
plt.legend(inner_label,fontsize=15)

 

以上是关于matplotlib 笔记:饼图 & 嵌套饼图的主要内容,如果未能解决你的问题,请参考以下文章

100天精通Python(可视化篇)——第81天:matplotlib绘制不同种类炫酷饼图参数说明+代码实战(自定义百分比多个子图圆环嵌套饼图)

Python使用matplotlib可视化饼图为饼图添加标题和标签(Pie Chart)

Matplotlib-绘制饼图

matplotlib系列——饼图

matplotlib饼图用主图的实际标题替换最后一个饼图子图标题[重复]

matplotlib的使用——pie(饼图)的使用