使用 Matplotlib 创建饼图

Beginner

This tutorial is from open-source community. Access the source code

简介

在本实验中,你将学习如何使用 Python 中的 Matplotlib 库创建饼图。饼图是一种圆形图表,被分割成多个扇区以表示数值比例。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。

导入 Matplotlib

在创建饼图之前,我们需要导入 Matplotlib 库。

import matplotlib.pyplot as plt

定义数据

接下来,我们需要定义用于创建饼图的数据。数据应以值列表和标签列表的形式呈现。

labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']
sizes = [15, 30, 45, 10]

创建饼图

要创建饼图,我们将使用 Matplotlib 中的 pie() 函数。

fig, ax = plt.subplots()
ax.pie(sizes, labels=labels)

为扇区添加标签

我们可以通过将标签列表传递给 pie() 函数的 labels 参数,为扇区添加标签。

fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%')

自定义颜色

我们可以通过将颜色列表传递给 pie() 函数的 colors 参数来自定义扇区的颜色。

fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, colors=['olivedrab', 'rosybrown', 'gray','saddlebrown'])

自定义阴影图案

我们可以通过将阴影图案列表传递给 pie() 函数的 hatch 参数来自定义切片的阴影图案。

fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, hatch=['**O', 'oO', 'O.O', '.||.'])

分离扇区

我们可以通过将一个值列表传递给 pie() 函数的 explode 参数,来分离饼图中的一个或多个扇区。

explode = (0, 0.1, 0, 0)  ## 仅分离第二个扇区(即 'Hogs')

fig, ax = plt.subplots()
ax.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
       shadow=True, startangle=90)

控制大小

我们可以通过设置 pie() 函数的 radius 参数来控制饼图的大小。

fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%.0f%%',
       textprops={'size':'smaller'}, radius=0.5)

修改阴影

我们可以通过将一个参数字典传递给 pie() 函数的 shadow 参数来修改饼图的阴影。

fig, ax = plt.subplots()
ax.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
       shadow={'ox': -0.04, 'edgecolor': 'none','shade': 0.9}, startangle=90)

总结

在本实验中,你学习了如何使用 Python 中的 Matplotlib 库创建饼图。你学习了如何定义数据、创建图表、添加标签、自定义颜色和阴影图案、分离扇区、控制大小以及修改阴影。掌握了这些技能后,你就可以创建内容丰富且视觉效果吸引人的饼图来展示你的数据。