📅  最后修改于: 2023-12-03 15:17:35.445000             🧑  作者: Mango
在数据可视化的过程中,经常需要同时绘制多个图来进行对比分析。Matplotlib 提供了多种方法来并排绘制多个图。本文将介绍如何使用 Matplotlib 在 Python 中并排绘制两个图。
在开始之前,首先需要导入 Matplotlib 库和 NumPy 库(提供数据支持)。可以使用以下代码导入:
import matplotlib.pyplot as plt
import numpy as np
为了演示并排绘制两个图,我们需要准备一些示例数据。这里使用 NumPy 生成两组随机数据:
# 生成示例数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
接下来,我们需要创建并配置两个子图。可以使用 plt.subplots()
方法创建一个包含两个子图的画布:
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10, 5))
这里设置 nrows=1
表示创建一个包含 1 行的子图,ncols=2
表示创建一个包含 2 列的子图。figsize
参数用于设置画布的大小。
接下来,可以使用索引将子图分别存储在 ax[0]
和 ax[1]
变量中,然后对它们进行配置。例如,可以添加标题、横纵坐标轴标签等:
# 配置子图1
ax[0].plot(x, y1)
ax[0].set_title('Sine Wave')
ax[0].set_xlabel('X')
ax[0].set_ylabel('Y')
# 配置子图2
ax[1].plot(x, y2)
ax[1].set_title('Cosine Wave')
ax[1].set_xlabel('X')
ax[1].set_ylabel('Y')
使用 ax[0]
和 ax[1]
可以访问到两个子图,然后可以对它们进行各种操作了,如添加标题、标签等。
最后,需要调用 plt.show()
方法显示图形:
plt.show()
完整的代码如下所示:
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建画布和子图
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10, 5))
# 配置子图1
ax[0].plot(x, y1)
ax[0].set_title('Sine Wave')
ax[0].set_xlabel('X')
ax[0].set_ylabel('Y')
# 配置子图2
ax[1].plot(x, y2)
ax[1].set_title('Cosine Wave')
ax[1].set_xlabel('X')
ax[1].set_ylabel('Y')
# 显示图形
plt.show()
使用 Matplotlib 在 Python 中并排绘制两个图非常简单。只需要先创建一个包含多个子图的画布,然后对每个子图进行配置即可。最后使用 plt.show()
方法显示图形。