让我们假设下面有两个2D数组,我想为其绘制contourf
图。我将使用两个子图来绘制两个contourf
。
import numpy as np
import matplotlib.pyplot as plt
a = np.array([
[1, 2, 2],
[0, 1, 2],
[0, 0, 1],
])
b = np.array([
[4, 5, 5],
[3, 4, 5],
[3, 3, 4],
])
规格:
当前,我有以下代码可以解决三个需求中的两个。
z1lim = [0, 5]
levels = 5
ticks = np.linspace(*z1lim, levels)
fig, ax = plt.subplots(ncols=2, figsize=(16, 6))
# contourf 0
cntf0 = ax[0].contourf(
a,
cmap='viridis',
levels=levels,
vmin=z1lim[0],
vmax=z1lim[1],
)
# colorbar 0
cbar0 = fig.colorbar(
cntf0,
ticks=ticks,
ax=ax[0]
)
# contourf 1
cntf1 = ax[1].contourf(
b,
cmap='viridis',
levels=levels,
vmin=z1lim[0],
vmax=z1lim[1],
)
# colorbar 1
cbar1 = fig.colorbar(
cntf1,
ticks=ticks,
ax=ax[1]
)
[查看当前结果,我无法获得范围从0到5的颜色条。如果有人可以给我一个能使颜色条的刻度从0到5的有效代码,那就太好了。
您想使用相同的归一化来绘制两组数据,并使用a specific recipe实例化两个颜色图
您在每个图中都采用了5个等级,但未指定它们的位置。因此,一个情节无法了解另一情节。在两种情况下,请确保使用相同的级别: