Matplotlib 堆叠柱状图

PythonPythonBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将学习如何使用 Python 中的 Matplotlib 库创建堆叠柱状图。我们将使用企鹅数据创建一个堆叠柱状图,展示体重高于平均水平的企鹅数量。

虚拟机使用提示

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

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

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

导入库

我们将首先导入必要的库,包括 numpymatplotlib.pyplot

import matplotlib.pyplot as plt
import numpy as np

定义数据

我们将定义用于创建堆叠柱状图的数据。

species = (
    "阿德利企鹅\n $\\mu=$3700.66 克",
    "帽带企鹅\n $\\mu=$3733.09 克",
    "巴布亚企鹅\n $\\mu=5076.02 克$",
)
weight_counts = {
    "低于": np.array([70, 31, 58]),
    "高于": np.array([82, 37, 66]),
}
宽度 = 0.5

需注意,这里的“宽度”在代码中实际是指柱状图的宽度参数width,为了更符合中文表达习惯,将其翻译为“宽度”,但在实际编程语境中,它就是width这个变量名。

创建堆叠柱状图

我们将使用 matplotlib.pyplot.bar 创建一个堆叠柱状图,并遍历每个体重类别以堆叠这些柱子。

fig, ax = plt.subplots()
bottom = np.zeros(3)

for boolean, weight_count in weight_counts.items():
    p = ax.bar(species, weight_count, width, label=boolean, bottom=bottom)
    bottom += weight_count

ax.set_title("体重高于平均水平的企鹅数量")
ax.legend(loc="upper right")

显示图表

我们将使用 matplotlib.pyplot.show() 来显示堆叠柱状图。

plt.show()

总结

在本实验中,我们学习了如何使用 Python 中的 Matplotlib 库创建堆叠柱状图。我们首先导入了必要的库,定义了用于创建图表的数据,然后使用 matplotlib.pyplot.bar 创建了一个堆叠柱状图。最后,我们使用 matplotlib.pyplot.show() 显示了该图表。