简介
在本实验中,我们将学习如何使用 Python Matplotlib 创建分组柱状图,以及如何用标签注释柱子。我们将使用帕尔默企鹅数据集(Palmer Penguins dataset)中的数据来创建一个按物种显示企鹅属性的图表。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”(Notebook)标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会立即为你解决问题。
导入所需库
我们将首先导入处理数据和创建图表所需的库。
import matplotlib.pyplot as plt
import numpy as np
准备数据
接下来,我们将为图表准备数据。我们有三种企鹅和三个属性,所以我们将创建一个字典,其中包含每种企鹅各属性的平均值。
species = ("Adelie", "Chinstrap", "Gentoo")
penguin_means = {
'Bill Depth': (18.35, 18.43, 14.98),
'Bill Length': (38.79, 48.83, 47.50),
'Flipper Length': (189.95, 195.82, 217.19),
}
创建分组柱状图
现在,我们可以使用 Matplotlib 的bar函数来创建图表。我们将创建一个循环,遍历我们的属性,并为每个属性创建一组柱子。我们还将调整柱子的宽度和每组柱子的位置。
x = np.arange(len(species))
width = 0.25
multiplier = 0
fig, ax = plt.subplots()
for attribute, measurement in penguin_means.items():
offset = width * multiplier
rects = ax.bar(x + offset, measurement, width, label=attribute)
multiplier += 1
为柱子添加标签
我们可以使用 Matplotlib 的bar_label函数为柱子添加标签。这将在每个柱子上方添加其对应的值。
ax.bar_label(rects, padding=3)
自定义图表
我们可以通过添加标签、标题,调整 x 轴刻度标签和图例来定制图表。我们还将设置 y 轴限制,以确保所有数据都可见。
ax.set_ylabel('Length (mm)')
ax.set_title('Penguin attributes by species')
ax.set_xticks(x + width, species)
ax.legend(loc='upper left', ncols=3)
ax.set_ylim(0, 250)
显示图表
最后,我们可以使用 Matplotlib 的show函数来显示图表。
plt.show()
总结
在本实验中,我们学习了如何使用 Python 的 Matplotlib 创建分组柱状图,以及如何用标签为柱子添加注释。我们使用了帕尔默企鹅(Palmer Penguins)数据集的数据来创建一个按物种显示企鹅属性的图表。我们还学习了如何通过添加标签、标题以及调整 x 轴刻度标签和图例来自定义图表。