Python使用matplotlib绘制饼状图详解

沿途有光
沿途有光
发布时间:2026-10-14| 3人浏览过
原创

本文介绍了如何在Python中使用matplotlib库的pie函数绘制饼状图。通过示例代码展示了如何设置数据、标签、颜色及偏移量等参数,并提供了完整的代码实现与运行效果,帮助开发者快速掌握饼图绘制技巧。

Python matplotlib绘制饼状图示例

本文详细介绍利用Python中matplotlib库的pie函数来绘制饼状图的方法。内容包含具体的代码示例及效果展示,旨在为读者提供实用的参考。

关于matplotlib的具体安装步骤,可参考前文https://www.jb51.net/article/51812.htm。以下是具体的使用代码示例:


#coding=utf8
import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
'''''
matplotlib.pyplot.pie函数:画一个饼图
matplotlib.pyplot.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, rotatelabels=False, hold=None, data=None)
参数说明:
x:数组。输入的数据用于创建一个饼图。
explode:数组,可选参数,默认为None。
        如果不是None,是一个长度与x相同长度的数组,用来指定每部分的偏移量。
        例如:explode=[0,0,0.2,0,0],第二个饼块被拖出。
labels:列表,可选参数,默认为:None。
       一个字符串序列作为每个饼块的标记。
colors:数组,可选参数,默认为:None。
      用来标注每块饼图的matplotlib颜色参数序列。
      如果为None,将使用当前活动环的颜色。
autopct:默认是None,字符串或函数,可选参数。
        如果不是None,是一个字符串或函数用带有数值饼图标注。
pctdistance:浮点数,可选参数,默认值:0.6。
          每个饼切片的中心和通过autopct生成的文本开始之间的比例。
          如果autopct是None,被忽略。
shadow:布尔值,可选参数,默认值:False。
        在饼图下面画一个阴影。
labeldistance:浮点数,可选参数,默认值:1.1。
            被画饼标记的直径。
startangle:浮点类型,可选参数,默认:None。
          如果不是None,从x轴逆时针旋转饼图的开始角度。
radius:浮点类型,可选参数,默认为:None。
      饼图的半径,如果半径是None,将被设置成1。
counterclock:布尔值,可选参数,默认为:None。
            指定指针方向,顺时针或者逆时针。
wedgeprops:字典类型,可选参数,默认值:None。
            参数字典传递给wedge对象用来画一个饼图。
            例如:wedgeprops={'linewidth':3}设置wedge线宽为3。
textprops:字典类型,可选参数,默认值为:None。
          传递给text对象的字典参数。
center:浮点类型的列表,可选参数,默认值:(0,0)。
      图标中心位置。
frame:布尔类型,可选参数,默认值:False。
      如果是true,绘制带有表的轴框架。
rotatelabels:布尔类型,可选参数,默认为:False。
          如果为True,旋转每个label到指定的角度。
返回值:
patches:列表。matplotlib.patches.Wedge实例列表。
text:列表。matplotlib.text.Text实例label的列表。
autotexts:列表。A是数字标签的Text实例列表。
          仅当参数autopct不为None时才返回。
'''
#设置字体样式
mpl.rcParams['font.family']='sans-serif'
mpl.rcParams['font.sans-serif']=[u'SimHei']
#随机整数从1-11,随机分成五部分
data=np.random.randint(1,11,5)
#设置第二个饼块的偏移量是0.2
plt.pie(data,explode=[0,0,0.2,0,0])
plt.title(u"www.jb51.net 饼图")
plt.show()

程序运行后的视觉效果如下所示:

如需了解更多Python相关知识,建议查阅本站相关专题,包括《Python数学运算技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》以及《Python入门与进阶经典教程》。

希望本文提供的信息能对您的Python编程学习有所帮助。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。