在 Python 中创建 Matplotlib 子图

PythonPythonBeginner
立即练习

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

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

简介

Matplotlib 是一个用于创建可视化图表的 Python 库,例如折线图、散点图、柱状图和子图等。在本实验中,你将学习如何使用 .pyplot.subplot 创建一个包含两个子图的图形。

虚拟机使用提示

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

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

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

导入必要的库

在本教程中,我们将使用 Matplotlib 库中的 pyplot 模块和 numpy 库。

import matplotlib.pyplot as plt
import numpy as np

定义数据

我们将定义两组数据,用于创建子图。

def f(t):
    return np.exp(-t) * np.cos(2*np.pi*t)

t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)

创建子图

我们将使用 .pyplot.subplot 创建一个包含两个子图的图形。

plt.figure()

plt.subplot(211)
plt.plot(t1, f(t1), color='tab:blue', marker='o')
plt.plot(t2, f(t2), color='black')

plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), color='tab:orange', linestyle='--')

plt.show()

subplot() 函数接受三个参数:行数、列数和当前子图的索引。索引从左上角的 1 开始,按行增加。在这个例子中,我们创建了一个包含两个子图的图形:一个在上,一个在下。

在第一个子图中,我们绘制 t1f(t1) 的关系以及 t2f(t2) 的关系。我们将第一个图的颜色设置为蓝色,并为每个数据点添加圆形标记。我们将第二个图的颜色设置为黑色。

在第二个子图中,我们绘制 t22*np.pi*t2 的余弦函数的关系。我们将图的颜色设置为橙色,线型设置为虚线。

参考资料

本示例展示了以下函数、方法、类和模块的用法:

  • matplotlib.pyplot.figure
  • matplotlib.pyplot.subplot

总结

在本实验中,我们学习了如何使用 .pyplot.subplot 创建一个包含两个子图的图形。我们定义了两组数据,并使用不同的颜色和线型将它们绘制在两个子图中。我们还提供了本示例中使用的函数和模块的参考资料。