Я использую matplotlib для построения тепловых карт, как показано ниже:
Обратите внимание, что галочки на цветовых полосах отличаются. Я хочу, чтобы они оба начинались с 0 и заканчивались на 1. Я думаю, что проблема заключается в минимальных значениях каждого массива (x_array изображен слева, а y_array справа):
np.min(x_array)
0.10800000000000001
np.min(y_array)
4.679256262324e-310
(полные массивы показаны ниже)
Однако я использую одну и ту же спецификацию для тиков на обоих графиках:
plt.colorbar(ticks = np.linspace(0, 1, num = 5))
Любая помощь с исправлением этого приветствуется.
Я использую Python 2.7 на Jupyter. Полный код и массивы:
plt.figure(figsize = (12,5))
plt.subplots_adjust(left= 0, right= 1, top = .9, bottom = 0.1, wspace = 0.001)
ticks = np.arange(0, 1, step = 0.1)
# left plot
plt.subplot(1, 2, 1)
plt.xticks(ticks), plt.yticks(ticks)
plt.imshow(x_array, cmap=plt.cm.gray, origin = "lower", extent = (0,.9,0,.9))
plt.colorbar(ticks = np.linspace(0, 1, num = 5))
# right plot
plt.subplot(1, 2, 2)
plt.xticks(ticks), plt.yticks(ticks)
plt.imshow(y_array, cmap=plt.cm.gray, origin = "lower", extent = (0,.9,0,.9))
plt.colorbar(ticks = np.linspace(0, 1, num = 5))
x_array
(array([[1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
[1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
[0.64 , 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
[0.37 , 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
[0.27 , 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
[0.21 , 0.47 , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
[0.17 , 0.36 , 1. , 1. , 1. , 1. , 1. , 1. , 1. ],
[0.108, 0.29 , 0.46 , 1. , 1. , 1. , 1. , 1. , 1. ],
[0.108, 0.24 , 0.37 , 0.52 , 1. , 1. , 1. , 1. , 1. ]]),
y_array
array([[1.00000000e-002, 1.00000000e-002, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 4.67925626e-310],
[4.67925626e-310, 1.00000000e-002, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002],
[1.00000000e+000, 4.67925626e-310, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002],
[1.00000000e+000, 1.00000000e-002, 4.67925626e-310,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002],
[1.00000000e+000, 1.00000000e-002, 1.00000000e-002,
4.67925626e-310, 1.00000000e-002, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002],
[1.00000000e+000, 1.00000000e+000, 1.00000000e-002,
1.00000000e-002, 4.67925626e-310, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002],
[1.00000000e+000, 1.00000000e+000, 1.00000000e-002,
1.00000000e-002, 1.00000000e-002, 4.67925626e-310,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002],
[1.00000000e+000, 1.00000000e+000, 1.00000000e+000,
1.00000000e-002, 1.00000000e-002, 1.00000000e-002,
4.67925626e-310, 1.00000000e-002, 1.00000000e-002],
[1.00000000e+000, 1.00000000e+000, 1.00000000e+000,
1.00000000e+000, 1.00000000e-002, 1.00000000e-002,
1.00000000e-002, 4.67925626e-310, 1.00000000e-002]]))