为什么我的颜色条上发生以下行为?如何使它表现为“正常”状态?
x_array = np.random.rand(5, 15, 10)
x_array = np.array([np.random.randint(1,20) * x for x in x_array])
minmax_array = [-2, 2]
f = plt.figure()
ag = axes_grid.ImageGrid(f, rect=(1, 1, 0), nrows_ncols=(1,5), cbar_mode='each',
cbar_pad=0.05, axes_pad=0.5)
for j in range(5):
x_temp = x_array[j, :, :]
im = ag[j].imshow(x_temp)
ag.cbar_axes[j].colorbar(im)
ag.cbar_axes[j].set_yticks(minmax_array)
其结果如下所示
如您所见,由于我提供的色条范围不在数组的值范围内。我得到了色条的怪异缩放比例。
但是为什么不能扩展
答案 0 :(得分:0)
其原因是因为未在imshow中设置vmin和vmax。如果我们执行以下代码
x_array = np.random.rand(5, 15, 10)
x_array = np.array([np.random.randint(1,20) * x for x in x_array])
minmax_array = [-2, 2]
f = plt.figure()
ag = axes_grid.ImageGrid(f, rect=(1, 1, 0), nrows_ncols=(1,5), cbar_mode='each',
cbar_pad=0.05, axes_pad=0.5)
for j in range(5):
x_temp = x_array[j, :, :]
im = ag[j].imshow(x_temp, vmin=minmax_array)
ag.cbar_axes[j].colorbar(im)
ag.cbar_axes[j].set_yticks(minmax_array)