Press "Enter" to skip to content

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%%')

 

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注