写这篇博客源于博友的提问
; 1. 效果图
效果图如下:
2. 原理
- autopct=’%0.1f%%’ 自动添加百分比显示,格式化保留1位小数
- labeldistance 设置各扇形标签(图例)与圆心的距离(labeldistance)为1.1
- shadow=True 添加饼图的阴影效果
- startangle 设置饼图的初始摆放角度为90度
- pctdistance 设置百分比标签与圆心的距离0.7
- legend(loc=’upper left’,bbox_to_anchor=(x,y)) 图例左上角,指定图例在轴的位置为(-0.3, 1.1)
- labels :(每一块)饼图外侧显示的说明文字;
- explode :(每一块)离开中心距离;
- startangle :起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起;
- shadow :添加饼图阴影效果 默认值:False,即不画阴影;
- labeldistance :图例与圆形的比例,label标记的绘制位置,相对于半径的比例,默认值为1.1, 如
3. 源码
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
labels = ['C语言', 'Python', 'Java', 'C++语言', 'C#', 'VB.net', 'Javascript', 'PHP', 'Other']
sizes = [16.2, 12.1, 11.7, 7.6, 4.7, 4.0, 2.0, 1.8, 39.9]
plt.axes(aspect=1)
plt.pie(sizes, labels=labels, autopct='%0.1f%%', shadow=True,
startangle=90, labeldistance=1.1, pctdistance=0.7)
plt.legend(loc='upper left', bbox_to_anchor=(-0.3, 1.1))
plt.savefig('program.png')
plt.show()
参考
Original: https://blog.csdn.net/qq_40985985/article/details/127725193
Author: 程序媛一枚~
Title: 使用matplotlib绘制定制化饼图(图例比例标签支持中文等)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/769868/
转载文章受原作者版权保护。转载请注明原作者出处!