matplotlib 笔记:饼图 & 嵌套饼图

本文详细介绍了Python的Matplotlib库中饼图的基本使用方法,包括如何创建基本的饼图,参数说明如autopct、colors、shadow等,并展示了如何绘制嵌套饼图。通过实例展示了三国杀各势力武将数量的分布,以及国战与非国战武将的区分,帮助读者理解饼图的绘制技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值