Data Visualization

精通Matplotlib饼图:完整指南

Spread the love

本教程全面指导如何使用强大的Python数据可视化库Matplotlib创建各种饼图。我们将涵盖基本概念并深入探讨高级技巧,例如自定义图表方向和突出显示特定数据切片。

目录

创建基本饼图

让我们从创建一个简单的饼图开始。我们将使用示例数据来表示篮子里不同类型水果的分布。


import matplotlib.pyplot as plt

# 示例数据
labels = '苹果', '香蕉', '樱桃', '枣'
sizes = [15, 30, 45, 10]

# 创建饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)

# 保证饼图是圆形的
plt.axis('equal')

# 添加标题
plt.title('水果分布')

# 显示图表
plt.show()

这段代码首先导入matplotlib.pyplot模块。然后它定义每个饼图切片的标签和对应大小。plt.pie()函数生成图表,自动计算并显示百分比(autopct),并将第一个切片从140度角开始。plt.axis('equal')确保图表是一个完美的圆形。最后,plt.title()添加标题,plt.show()显示结果。

创建顺时针饼图

要创建一个顺时针方向的饼图,我们只需修改plt.pie()函数中的startangle参数。startangle为0度时,第一个切片将位于最右点,后续切片将顺时针方向排列。


import matplotlib.pyplot as plt

labels = '苹果', '香蕉', '樱桃', '枣'
sizes = [15, 30, 45, 10]

plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=0)
plt.axis('equal')
plt.title('水果分布(顺时针)')
plt.show()

使用explode功能突出显示切片

“explode”功能允许你通过将特定切片稍微与饼图的其余部分分开来强调它们。这是通过向explode参数提供一个列表来实现的。列表的长度必须与sizes列表匹配,每个元素代表对应切片的偏移距离。值为0表示没有偏移。


import matplotlib.pyplot as plt

labels = '苹果', '香蕉', '樱桃', '枣'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0)  # 将第二个切片('香蕉')分离

plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', startangle=90)
plt.axis('equal')
plt.title('水果分布(分离切片)')
plt.show()

在这个例子中,第二个切片(’香蕉’)通过将其explode值设置为0.1来分离。尝试不同的explode值以达到所需的视觉效果。确保explode元组与饼图中的切片数量一致。

自定义饼图外观

Matplotlib 提供了大量自定义饼图的选项。你可以调整颜色、添加图例、更改字体大小等等。查阅Matplotlib文档以获取完整的自定义选项列表。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注