python使用Matplotlib绘制饼图?干货来了一定要收藏!
陈立鑫
优草派
我们知道在python中有非常多的绘图功能,下面小编就给大家介绍一下在python中如何使用Matplotlib进行绘制饼图,小编讲得非常详细,大家一定要耐心看完。
(一)函数原型
plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False)
参数:
x:绘图的数据
explode:指定饼图突出的部分以及突出距离
colors:制定饼图的填充颜色
labels:指定每个分片的标签,类似于图例说明
autopct:自动添加百分比显示,可以利用格式化
pctdistance:设置百分比标签和圆心的距离
labeldistance:标签距饼中心距离
shadow:饼图是否添加阴影效果
startangle:设置饼图初始摆放角度
radius:饼图的半径大小
counterclock:是否让饼图按照逆时针顺序呈现
wedgeprops:设置饼图内外边界属性
textprops:设置饼图中文本的属性,例如字体大小、颜色等
center:制定饼图中心位置
frame:是否显示饼图背后的图框
二、使用
1.基本饼图
import matplotlib.pyplot as plt import numpy as py fig = plt.figure() labels =['vivo','meizu','huawei','apple'] values=[10,20,50,80] colors=['yellow','red','green','blue'] plt.pie(values,labels=labels,colors=colors,startangle=180,shadow=True) plt.title('pip chart') plt.show()
优化1
通过设置 explode参数使各部分扇形占比分离。
explode=[0.1,0.1,0.1,0.1]
通过设置autopct显示各个扇形部分占比
autopct='%1.1f%%'
优化2
设置画布大小以及dpi
plt.figure(figsize=(6,8),dpi=200)
添加图例
plt.legend(loc='upper left',bbox_to_anchor=(-0.1,1))
这样得到的饼图更加清晰,更能说明所描述的信息(有点大,别慌)
2.绘制内嵌环形饼图
通过设置wedgeprops参数实现
plt.pie(values,radius=1,pctdistance=0.9,colors=colors, wedgeprops=dict(width=0.3,edgecolor="w"),autopct='%1.1f%%') plt.pie(values,radius=0.7, colors=colors,pctdistance=0.7,startangle=180,wedgeprops=dict(width=0.3, edgecolor="w"),autopct='%1.1f%%')
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。