Масштабирование цветовой шкалы в ImageGrid - PullRequest
0 голосов
/ 04 июня 2019

Почему на моих цветовых панелях происходит следующее поведение ... и как мне заставить его вести себя "нормально"?

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)

Результат этого показан ниже

enter image description here

Как вы можете видеть, поскольку я предоставляю диапазон цветовой шкалы вне значений массивов ... Я получаю это странное масштабирование цветовой шкалы.

Но почему он не может масштабироваться

1 Ответ

0 голосов
/ 04 июня 2019

Причина этого в том, что vms и vmax не были установлены в imshow. Если мы выполним следующий код

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)

Обратите внимание, что «если vmin - это последовательность length2, интерпретируйте ее как (vmin, vmax), которая используется для поддержки setp» enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...