Wpadasz na osobliwość ScalarMappables . Dbają o normalizację danych tak, aby mieściły się w zakresie [0, 1] i przekazanie tej wartości do mapy kolorów. Domyślnie ustawia dół zakresu na min(values_you_are_mapping) i od góry do maksimum, co jeśli wszystkie Twoje wartości są identyczne, powoduje, że szerokość zakresu wynosi zero, a mapowanie (v - max_v) / (max_v - min_v) wysadza. Rozwiązaniem jest określenie zakresu według
imshow(..., vmin=min_t, vmax=max_t)
scatter(..., vmin=min_t, vmax=max_t)
gdzie max_t i min_t to maksymalne i minimalne temperatury, jakie możesz osiągnąć. Dzięki temu odwzorowanie kolorów będzie spójne we wszystkich figurach.