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))
这样得到的饼图更加清晰,更能说明所描述的信息(有点大,别慌)
优化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%%')
相关免费学习推荐:python视频教程