Python数据可视化:使用Matplotlib绘制饼状图实例

Luna
Luna
发布时间:2026-10-13| 5人浏览过
原创

本文通过Python的Matplotlib库演示如何绘制论文中常见的饼状图。详细解析了labels、sizes、explode及autopct等关键参数的用法,展示了如何调整文本大小、角度及图例位置,为数据可视化提供完整代码参考。

Python饼状图绘制目标与准备

本节介绍如何利用Python实现论文中所需的饼状图效果。

首先需要明确原始图表的样式与结构,以便在代码中复现。

接下来提供具体的Python代码实现方案,核心依赖Matplotlib库。

Matplotlib核心代码实现与参数解析


 # # 饼状图
 # plot.figure(figsize=(8,8))
 labels = [u'Canteen', u'Supermarket', u'Dorm', u'Others']
 sizes = [73, 21, 4, 2]
 colors = ['red', 'yellow', 'blue', 'green']

 explode = (0.05, 0, 0, 0)

 patches, l_text, p_text = plot.pie(sizes, explode=explode, labels=labels, colors=colors,
          labeldistance=1.1, autopct='%2.0f%%', shadow=False,
          startangle=90, pctdistance=0.6)

 # labeldistance,文本的位置离远点有多远,1.1指1.1倍半径的位置
 # autopct,圆里面的文本格式,%3.1f%%表示小数有三位,整数有一位的浮点数
 # shadow,饼是否有阴影
 # startangle,起始角度,0,表示从0开始逆时针转,为第一块。一般选择从90度开始比较好看
 # pctdistance,百分比的text离圆心的距离
 # patches, l_texts, p_texts,为了得到饼图的返回值,p_texts饼图内部文本的,l_texts饼图外label的文本

 # 改变文本的大小
 # 方法是把每一个text遍历。调用set_size方法设置它的属性
 for t in l_text:
  t.set_size = 30
 for t in p_text:
  t.set_size = 20
 # 设置x,y轴刻度一致,这样饼图才能是圆的
 plot.axis('equal')
 plot.legend(loc='upper left', bbox_to_anchor=(-0.1, 1))
 # loc: 表示legend的位置,包括'upper right','upper left','lower right','lower left'等
 # bbox_to_anchor: 表示legend距离图形之间的距离,当出现图形与legend重叠时,可使用bbox_to_anchor进行调整legend的位置
 # 由两个参数决定,第一个参数为legend距离左边的距离,第二个参数为距离下面的距离
 plot.grid()
 plot.show()

图表生成结果与细节调整

代码执行后生成的饼状图结果如下所示。

以上就是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 算法库。