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)