matplotlib 中 如何在多子图中绘画多柱状图
时间: 2024-03-26 18:41:36 浏览: 125
在 Matplotlib 中,您可以使用 `subplots()` 方法创建多个子图,并使用 `bar()` 方法在每个子图中绘制多个柱状图。
下面是一个简单的示例代码,演示如何在一个 `2x2` 的网格中绘制 4 个子图,每个子图中包含 3 个柱状图:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建 2x2 的网格子图
fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(8, 6))
# 数据
x = np.array([1, 2, 3])
y1 = np.array([4, 2, 3])
y2 = np.array([3, 4, 1])
y3 = np.array([2, 5, 3])
y4 = np.array([5, 1, 2])
# 在每个子图中绘制柱状图
axs[0, 0].bar(x, y1)
axs[0, 0].set_title('Subplot 1')
axs[0, 1].bar(x, y2)
axs[0, 1].set_title('Subplot 2')
axs[1, 0].bar(x, y3)
axs[1, 0].set_title('Subplot 3')
axs[1, 1].bar(x, y4)
axs[1, 1].set_title('Subplot 4')
# 显示图形
plt.show()
```
上述代码中,我们首先创建了一个 `2x2` 的网格子图,并指定了每个子图的大小为 `(8, 6)`。然后,我们定义了四组数据,每组数据包含 3 个值。接下来,我们在每个子图中使用 `bar()` 方法绘制柱状图,并设置了每个子图的标题。最后,我们调用 `show()` 方法显示图形。
阅读全文