📜  matplotlib 并排绘制两个图 - Python (1)

📅  最后修改于: 2023-12-03 15:17:35.445000             🧑  作者: Mango

Matplotlib 并排绘制两个图 - Python

在数据可视化的过程中,经常需要同时绘制多个图来进行对比分析。Matplotlib 提供了多种方法来并排绘制多个图。本文将介绍如何使用 Matplotlib 在 Python 中并排绘制两个图。

1. 导入 Matplotlib 库

在开始之前,首先需要导入 Matplotlib 库和 NumPy 库(提供数据支持)。可以使用以下代码导入:

import matplotlib.pyplot as plt
import numpy as np
2. 准备数据

为了演示并排绘制两个图,我们需要准备一些示例数据。这里使用 NumPy 生成两组随机数据:

# 生成示例数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
3. 创建并配置子图

接下来,我们需要创建并配置两个子图。可以使用 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] 可以访问到两个子图,然后可以对它们进行各种操作了,如添加标题、标签等。

4. 显示图形

最后,需要调用 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()
5. 结论

使用 Matplotlib 在 Python 中并排绘制两个图非常简单。只需要先创建一个包含多个子图的画布,然后对每个子图进行配置即可。最后使用 plt.show() 方法显示图形。