Построить тепловую карту в python так, чтобы для конкретного значения тепловая карта отображала пробел вместо цвета из цветовой шкалы - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть фрейм данных, похожий на тот, что у меня ниже.Я пытаюсь построить тепловую карту, используя seaborn или matplotlib так, чтобы

мой фрейм данных

Мне нужно иметь пробелы в моей тепловой карте везде, где появляется значение 0.00885в моем кадре данных.В настоящее время это код, который у меня есть:

Index= [i for i in df_results.index]
Cols = list(df_results.columns)
df = pd.DataFrame(df_results, index=Index, columns=Cols)

sns.heatmap(df,cmap='viridis')

Мне нужно следующее: желаемый вывод

Обратите внимание, что в моем собственном графике y-ось должна быть обращена таким образом, чтобы она начиналась с 0 от основания оси y до 100. Я также попытался получить ось x, чтобы она имела форму логарифмической шкалы, точно так же, как на правильном графике.Когда я пытаюсь следующий код ниже, он меняет порядок оси X.Обратите внимание, что я также попытался перевернуть список, который содержит символы, чтобы заставить его двигаться в правильном направлении.Я не думаю, что этот подход является правильным или питоническим.

Index= [i for i in df_results.index]+[100]
Cols = list(df_results.columns)
df = pd.DataFrame(df_results, index=Index[::-1], columns=Cols)
g=sns.heatmap(df,yticklabels=50,xticklabels=4,vmin=0.0,vmax=1.0,cmap='viridis',cbar_kws={"ticks":[0.0,0.5,1.0]})

Я также не могу найти градиентную цветовую шкалу, которая соответствует тому, что находится в правильном выводе.

...