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()

python-Matplotlib绘制饼图

优化1

通过设置 explode参数使各部分扇形占比分离。

explode=[0.1,0.1,0.1,0.1]

通过设置autopct显示各个扇形部分占比

autopct='%1.1f%%'

python-Matplotlib绘制饼图

优化2

设置画布大小以及dpi

plt.figure(figsize=(6,8),dpi=200)

添加图例

plt.legend(loc='upper left',bbox_to_anchor=(-0.1,1))

这样得到的饼图更加清晰,更能说明所描述的信息(有点大,别慌)

python-Matplotlib绘制饼图

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-Matplotlib绘制饼图

 

上一篇:Flutter适配深色模式(DarkMode):看!你要的黑是这个黑吗?


下一篇:flutter使用InkWell点击没有水波纹效果的解决方法