利用matplotlib制作饼图

利用matplotlib制作饼图:

绘制饼图:

x : (每一块)的比例,如果sum(x)>1,会将多出的部分进行均分;
explode: (每一块)离开中心距离
labels: (每一块)饼图外侧显示的说明文字;
labeldistance:设置标签文本距圆心位置,1.1表示1.1倍半径
autopct:控制饼图内百分比设置
shadow:设置是否有阴影
startangle:起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起;
pctdistance:类似于labeldistance,指定autopct的位置刻度,默认值为0.6;
返回值:
patches : matplotlib.patches.Wedge列表(扇形实例)
l_text:label matplotlib.text.Text列表(标签实例)
p_text:label matplotlib.text.Text列表(百分比标签实例)

import matplotlib.pyplot as plt
from matplotlib import font_manager
#设置字体
my_font = font_manager.FontProperties(fname='F:/Python/2020-02-12matplotlib/HYTianZhenTi.ttf',size=16)
#各部分标签
label_list=['Frogs','Logs','Dogs','Hogs']
#各部分大小
size=[15,10,45,30]
#各部分颜色
color=['blue','red','green','orange']
#各部分突出值
explode=[0,0,0,0.05]
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.1f%%",
                              shadow=True,
                              startangle=90,
                              pctdistance=0.6)
#图例
plt.legend(label_list,loc='upper right')
#标题
plt.title("饼图绘制测试",fontproperties=my_font,color='red')
#保存成png图片
# plt.savefig("G:/饼图绘制测试.png")
#展示
plt.show()

在这里插入图片描述

发布了49 篇原创文章 · 获赞 76 · 访问量 2710

猜你喜欢

转载自blog.csdn.net/qq_39783601/article/details/104558914
今日推荐