使用 Matplotlib 创建水平条形断裂图

Beginner

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

简介

Matplotlib 是一个用于在 Python 中创建静态、动画和交互式可视化效果的 Python 库。它是 Python 中用于数据可视化的一个流行库。在本教程中,我们将学习如何使用 Matplotlib 创建一个水平条形断裂图。

虚拟机使用提示

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

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

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

导入必要的库

在这一步中,我们将导入必要的库。我们将使用 matplotlib.pyplot 库来创建水平条形断裂图。

import matplotlib.pyplot as plt

创建水平条形断裂图

在这一步中,我们将创建水平条形断裂图。我们将使用 Axes 类的 broken_barh() 方法来创建该图。broken_barh() 方法接受三个参数:第一个参数是一个元组列表,其中每个元组代表条形的一段,元组的第一个元素是该段的起始点,第二个元素是该段的长度;第二个参数是条形的 y 坐标;第三个参数是条形的填充颜色。

fig, ax = plt.subplots()
ax.broken_barh([(110, 30), (150, 10)], (10, 9), facecolors='tab:blue')
ax.broken_barh([(10, 50), (100, 20), (130, 10)], (20, 9),
               facecolors=('tab:orange', 'tab:green', 'tab:red'))
ax.set_ylim(5, 35)
ax.set_xlim(0, 200)
ax.set_xlabel('seconds since start')
ax.set_yticks([15, 25], labels=['Bill', 'Jim'])
ax.grid(True)
ax.annotate('race interrupted', (61, 25),
            xytext=(0.8, 0.9), textcoords='axes fraction',
            arrowprops=dict(facecolor='black', shrink=0.05),
            fontsize=16,
            horizontalalignment='right', verticalalignment='top')

plt.show()

解读图表

在这一步中,我们将解读水平条形断裂图。该图表展示了一场比赛,两名参赛者比尔(Bill)和吉姆(Jim)在不同时间起跑。y 轴代表参赛者,x 轴代表比赛开始后的时间(以秒为单位)。蓝色和橙色的条形代表比尔的赛程,而绿色、红色和浅蓝色的条形代表吉姆的赛程。注释“比赛中断”表明比赛在 61 秒时被中断。

总结

Matplotlib 是 Python 中一个用于数据可视化的流行库。在本教程中,我们学习了如何使用 Matplotlib 创建水平条形断裂图。我们导入了必要的库,使用 Axes 类的 broken_barh() 方法创建了图表,并对图表进行了解读。