如何通过并排绘制两个不同的数据集来制作嵌套的 for 循环?

How to make a nested for loop by plotting two different data sets side by side?

我有这两个不同的数据集(具有相同的形状)[data1 和 data2],我想在 data2 的第一个索引旁边绘制 data1 的第一个索引:

所以数据 1[0] 的图形紧挨着数据 2[0] 的图形、数据 11 next to figure of data21 的图形,等等所以有 32 个地块,而不仅仅是 16 个

我尝试做一个嵌套的 for 循环,但它只绘制了 data2,而不是将 data1 和 data2 绘制在一起。 for 循环可能有什么问题?

示例和可重现的代码如下:

data1 = np.random.rand(16, 20, 15)
data2 = np.random.rand(16,20,15)


fig, axes = plt.subplots(nrows=8, ncols=4, figsize=(10,20))
for i,ax in zip(range(16), axes.ravel()):
    for j,ax in zip(range(16),axes.ravel()):
        x = ax.contourf(data1[i],levels=10, extend='both')
        y = ax.contourf(data2[i],levels=10,extend='both')
    ax.set_xlabel('x')
    ax.set_ylabel('y')
    ax.grid()
plt.tight_layout()
plt.show()

试试:

fig, axes = plt.subplots(nrows=8, ncols=4, figsize=(10,20))
axes = axes.ravel()

# plot the data in pairs
for i in range(16):
    axes[2*i].contourf(data1[i],levels=10, extend='both')
    axes[2*i].set_title(f'data1[{i}]')
    axes[2*i+1].contourf(data2[i],levels=10,extend='both')
    axes[2*i+1].set_title(f'data2[{i}]')

for ax in axes:
    ax.set_xlabel('x')
    ax.set_ylabel('y')
    ax.grid()
plt.tight_layout()
plt.show()

输出: