Matplotlib——饼图pie()函数

饼图扇形图)是一种常见的可以表示离散变量各水平占比情况的一种统计图。Matpllotlib提供了pie()函数用于绘制饼图。

import matplotlib.pyplot as plt

_ = plt.pie(range(5))
plt.show()

请添加图片描述
pie()提供一些详细选项如下。

plt.pie(x, explode=None, labels=None, colors=None, 
        autopct=None, pctdistance=0.6, shadow=False, 
        labeldistance=1.1, satrtangle=None, 
        radius=None, counterclock=True, wedgeprops=None, 
        textprops=None, center=(0, 0), frame=False)

x:绘图的数据。
explode:指定饼图某些部分的突出显示。
labels:添加标签。
colors:指定填充颜色。
autopct:自动添加百分比显示,可以采用格式化的方法显示。
pctdistance:设置百分比标签与圆心的距离。
shadow:是否添加阴影效果。
labeldistance:设置各扇形标签与圆心的距离。
satrtangle:设置饼图的初始摆放角度。
radius:设置饼图半径大小。
counterclock:是否让饼图按顺时针呈现。
wedgeprops:设置饼图内外边界的属性,如界限的粗细、颜色等。
textprops:设置饼图中文本的属性,如字体大小、颜色等。
center:指定饼图的中心点位置,默认为原点。
frame:是否要显示饼图背后的图框,如果设置为True,则需要同时控制图框x轴、y轴的范围和饼图的中心位置。

案例:假设某劳务公司统计了职工的学历占比情况,要使用饼图展现出来,并突出硕士学位的群体。

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

edu = [0.26, 0.35, 0.32, 0.09, 0.08]
labels = [u'中专', u'大专', u'本科', u'硕士', u'其他']

explode = [0, 0, 0, 0.1, 0]  # 突出硕士群体
colors = ['#9999ff', '#ff9999', '#7777aa', '#2442aa', '#dd5555']  # 自定义颜色

# 绘制饼图
_ = plt.pie(x=edu,
            explode=explode,
            labels=labels,  # 添加教育水平标签
            colors=colors,  # 设置饼图颜色自定义填充颜色
            autopct='%.2f%%',  # 设置百分比的格式,这里保留2位小数
            pctdistance=0.8,  # 设置百分比标签与圆心的距离
            labeldistance=1.2,  # 设置教育水平标签与圆心的距离
            startangle=180,  # 设置饼图的初始角度
            radius=1.5,  # 设置饼图的半径
            counterclock=False,  # 是否逆时针,这里设置为顺时针方向
            wedgeprops={'linewidth': 1.5, 'edgecolor': 'green'},
            # 设置饼图内外边界属性值
            textprops={'fontsize': 12, 'color': 'k'},
            # 设置文本标签属性值
            center=(2, 2),  # 设置饼图的原点
            frame=0)  # 是否显示饼图图框,这里没有显示

plt.show()

请添加图片描述

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值