Могу ли я настроить масштаб цветовой полосы на этой тепловой карте морского рожка?

#python #pandas #dataframe #seaborn #colormap

Вопрос:

Вот словарь данных, которые я пытаюсь визуализировать:

 SPEC1 = {-15.0: 0.2111724739193578,
 -14.487179487179487: 0.2394370325685465,
 -13.974358974358974: 0.28457460638442267,
 -13.461538461538462: 0.3060820977687277,
 -12.948717948717949: 0.27936658325947794,
 -12.435897435897436: 0.3264169114891287,
 -11.923076923076923: 0.33953701248120244,
 -11.41025641025641: 0.2543531073726878,
 -10.897435897435898: 0.2602820620861447,
 -10.384615384615385: 0.18850033433060892,
 -9.871794871794872: 0.16623948943981115,
 -9.35897435897436: 0.14385426255058673,
 -8.846153846153847: 0.13303206970028403,
 -8.333333333333334: 0.1738509378511952,
 -7.820512820512821: 0.12388968382768577,
 -7.307692307692308: 0.1453694114081282,
 -6.794871794871796: 0.14304888324965365,
 -6.282051282051283: 0.12446820153059315,
 -5.76923076923077: 0.11991471497857562,
 -5.256410256410257: 0.1555839620832947,
 -4.7435897435897445: 0.09174317021173255,
 -4.230769230769232: 0.14494865988744776,
 -3.717948717948719: 0.12053257742175423,
 -3.205128205128206: 0.15091820365530445,
 -2.6923076923076934: 0.16421715893800606,
 -2.1794871794871806: 0.15925544714381218,
 -1.6666666666666679: 0.2134519635533195,
 -1.153846153846155: 0.27845816943740104,
 -0.6410256410256423: 0.3104069080662138,
 -0.12820512820512953: 0.3576812987437953,
 0.38461538461538325: 0.40347578977116677,
 0.897435897435896: 0.39658696657701115,
 1.4102564102564088: 0.35957743409493415,
 1.9230769230769198: 0.36213347548006836,
 2.4358974358974343: 0.31049989028591496,
 2.948717948717949: 0.2678529728944247,
 3.46153846153846: 0.23923210055571248,
 3.974358974358971: 0.19244665788399845,
 4.4871794871794854: 0.1752279457602608,
 5.0: 0.17005550059340896}
 

И я использовал seaborn.heatmap , вот код и вывод:

 import pandas as pd
import seaborn as sns
sns.set(rc={"figure.figsize":(12,1)})
df = pd.DataFrame(SPEC1, index=[0])
g = sns.heatmap(df, cmap="Greens", annot=False, fmt='g')
g.get_figure().savefig("heatmap.png")
 

введите описание изображения здесь

Я создам несколько таких полос, значения могут быть выше в следующих словарях, поэтому мне интересно, смогу ли я настроить масштаб цветовой полосы в моем случае, под этим я подразумеваю, что я надеюсь установить, что самый темный зеленый цвет соответствует » 1 «из значений (вместо «0,4»), а самый светлый цвет соответствует «0». Есть ли способ, которым я могу это сделать? Спасибо за помощь:)

Комментарии:

1.Я не могу проверить прямо сейчас, но в соответствии с документацией vmin=0 и vmax=1 кажется, что вам нужно

2. @FlorianGD Это работает, большое спасибо:)

Ответ №1:

Вы пробовали с vmin = 0 и vmax = 1 ?? Я думаю, что это должно сработать