优草派  >   Python

python使用Matplotlib绘制饼图?干货来了一定要收藏!

陈立鑫            来源:优草派

我们知道在python中有非常多的绘图功能,下面小编就给大家介绍一下在python中如何使用Matplotlib进行绘制饼图,小编讲得非常详细,大家一定要耐心看完。

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%%')
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行