matplotlib饼图(pie、explode、shadow、labeldistance)

代码示例:

# 5. 绘制饼图
import matplotlib.pyplot as plt
import matplotlib
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname='./STSONG.TTF',size=10)

label_list = ["第一部分", "第二部分", "第三部分"]    # 各部分标签
size = [55, 35, 10]    # 各部分大小
color = ["red", "green", "blue"]     # 各部分颜色
explode = [0, 0.05, 0]   # 各部分突出值
"""
绘制饼图
explode:设置各部分突出
label:设置各部分标签
labeldistance:设置标签文本距圆心位置,1.1表示1.1倍半径
autopct:设置圆里面文本
shadow:设置是否有阴影
startangle:起始角度,默认从0开始逆时针转
pctdistance:设置圆内文本距圆心距离
返回值:
patches : matplotlib.patches.Wedge列表(扇形实例)
l_text:label matplotlib.text.Text列表(标签实例)
p_text:label matplotlib.text.Text列表(百分比标签实例)
"""
plt.figure(figsize=(20, 8), dpi=100)
patches, l_text, p_text = plt.pie(size, 
                                  explode=explode, 
                                  colors=color, 
                                  labels=label_list, 
                                  labeldistance=1.1, 
                                  autopct="%1.2f%%", #  35.00%  
                                  shadow=True, 
                                  startangle=90,
                                  pctdistance=0.6)

for t in l_text: 
    t.set_fontproperties(my_font)
    
for t in p_text: 
    t.set_size(18) 
    
for i in patches:
    i.set_color('pink')
    break

plt.legend(prop=my_font)
plt.show()

效果截图:

猜你喜欢

转载自blog.csdn.net/caoxinjian423/article/details/111937613