Te encuentras con una peculiaridad de ScalarMappables
. Se encargan de normalizar los datos para que estén en el rango [0, 1] y pasar ese valor al mapa de colores. De forma predeterminada, establece la parte inferior del rango en min(values_you_are_mapping)
y la parte superior al máximo, que si todos sus valores son idénticos da como resultado que el ancho del rango sea cero, y el mapeo (v - max_v) / (max_v - min_v)
explota. La solución es decirle cuál debe ser el rango
imshow(..., vmin=min_t, vmax=max_t)
scatter(..., vmin=min_t, vmax=max_t)
donde max_t
y min_t
son las temperaturas máximas y mínimas que podrías tener. Esto también hará que el mapeo de colores sea consistente en todas tus figuras.