简介
在本实验中,我们将学习如何使用 Python 的 Matplotlib 库创建水平条形图。水平条形图是一种将数据显示为水平条的图表。它对于比较不同类别的数据很有用。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入所需库
第一步是导入所需的库。在本实验中,我们将使用 numpy 和 matplotlib 库。
import matplotlib.pyplot as plt
import numpy as np
设置随机种子
在创建条形图之前,我们需要设置随机种子,以确保每次运行代码时都能得到相同的结果。
np.random.seed(19680801)
创建图形和坐标轴对象
下一步是创建图形和坐标轴对象。图形对象是绘制图表的窗口或画布,而坐标轴对象则是实际的图表。
fig, ax = plt.subplots()
准备数据
在这一步中准备图表的数据。我们将创建一个包含人员姓名、他们的表现以及错误率的列表。
people = ('Tom', 'Dick', 'Harry', 'Slim', 'Jim')
y_pos = np.arange(len(people))
performance = 3 + 10 * np.random.rand(len(people))
error = np.random.rand(len(people))
创建条形图
最后,我们将使用坐标轴对象的 barh() 方法创建水平条形图。
ax.barh(y_pos, performance, xerr=error, align='center')
自定义图表
为了使图表包含更多信息,我们可以通过添加标签、标题以及反转 y 轴来对其进行自定义。
ax.set_yticks(y_pos, labels=people)
ax.invert_yaxis() ## labels read top-to-bottom
ax.set_xlabel('Performance')
ax.set_title('How fast do you want to go today?')
显示图表
最后,我们将通过调用 pyplot 对象的 show() 方法来显示图表。
plt.show()
总结
在这个实验中,我们学习了如何使用 Python 的 Matplotlib 创建水平条形图。我们了解了如何准备数据、创建图形和坐标轴对象以及自定义图表。我们还学习了坐标轴对象的 barh() 方法,以及如何使用 pyplot 对象的 show() 方法来显示图表。