Как отцентрировать цветовую полосу по указанному c цвету для Seaborn Heatmap? - PullRequest
1 голос
/ 18 февраля 2020

Можно ли указать цвет центра цветовой шкалы в карте температур морского побережья? Например, центр цветовой шкалы на следующей тепловой карте равен 70, и я хочу указать черный цвет вместо белого. Заранее спасибо.

пример тепловой карты

1 Ответ

1 голос
/ 19 февраля 2020

Вы можете использовать DivergingNorm, чтобы указать смещенную нормализацию. Чтобы создать карту с черным в центре, используйте LinearSegmentedColormap

from matplotlib.colors import LinearSegmentedColormap, DivergingNorm

cmap = LinearSegmentedColormap.from_list('BkR',['blue','black','red'])
norm = DivergingNorm(vmin=0, vcenter=70, vmax=100)

x,y = np.random.randint(0,100, size=(2,50))

plt.figure()
plt.scatter(x,y,c=y, norm=norm, cmap=cmap)
plt.colorbar()
plt.show()

enter image description here

...