python Matplotlib 系列教程(六)——绘制饼图

本文详细介绍如何使用Python的Matplotlib库绘制饼图,并通过一个具体的示例来展示如何配置各项参数,如突出显示最大值、设置颜色及标签等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本章节讨论的是,饼图的绘制

饼图,常用来显示各个部分在整体里面所占有的比例。

我们选用这张图片的数据:

这里写图片描述

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf", size=14)  

beijing = [17,17,23,43]
shanghai = ['19%','4%','23%','54%']
guangzhou = ['53%','25%','13%','9%']
shenzhen = ['41%','22%','20%','17%']

label = ['2-3 years','3-4 years','4-5 years','5+ years']
color = ['red','green','yellow','purple']

indic = []

#我们将数据最大的突出显示
for value in beijing:
    if value == max(beijing):
        indic.append(0.1)
    else:
        indic.append(0)

plt.pie(
    beijing,
    labels=label,
    colors=color,
    startangle=90,
    shadow=True,
    explode=tuple(indic),#tuple方法用于将列表转化为元组
    autopct='%1.1f%%'#是数字1,不是l
)


plt.title(u'饼图示例——统计北京程序员工龄', FontProperties=font)

plt.show()

这里写图片描述

附录:参数的类型

plt.stackplot(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, rotatelabels=False, hold=None, data=None)

paramtype含义
“x”array-like饼图各比例的数值
“explode “array-like是否分割出饼图的哪一块 默认是None,不分割的时候为0,分割的时候传入0.1
“labels”list各个部分的标签default: None
“colors”array-like饼图各比例的显示颜色
“autopct”string,function饼图各比例的数值显示的格式
“pctdistance”float饼图各比例的显示数据距离饼图中心的距离比例,默认是0.6
“shadow “bool是否绘制阴影
“labeldistance “float饼图标签绘制的径向距离,默认是1.1
“startangle “float饼图开始绘制的起始角度,如果不是None, 则从x轴逆时针旋转角度的饼图开始。
“radius “float饼图的半径,如果半径是None,它将被设置为1。
“counterclock”bool指定绘制顺序方向,顺时针或逆时针,默认是True即逆时针方向
“wedgeprops”dict设置绘制的某些样式参数等 eg:wedgeprops = {‘linewidth’: 3}
“textprops”dict要传递给文本对象的参数字典。
“center”list of float饼图的绘制中心,默认是(0,0)
“frame”bool如果为真,则将坐标轴与图表一起绘制 默认:False
“rotatelabels”bool如果为真,则将每个标签旋转到相应切片的角度。默认:False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值