2016-11-28 2 views
2

У меня есть следующий Python код для создания Heatmap с использованием пакета Сиборна:Изменить высоту Heatmap Colorbar Сиборна

f, ax = plt.subplots(figsize=(21,5)) 
heatmap = sns.heatmap(significantBig5[basic].as_matrix().T,mask=labelsDf.T, 
    annot=False,fmt='.2f',yticklabels=basic_labels,linewidths=0.5,square=True, 
    xticklabels=traits) 
plt.xticks(rotation=70) 

Это создает следующую Heatmap: sample heatmap

Я хотел бы форматировать это тепловая карта, чтобы цветная панель с правой стороны была короче. Есть ли способ сделать это?

ответ

1

Используйте cbar_ax аргумент и установить положение цветной полосы Вам нравится:

import seaborn as sns 
import pandas as pd 
import numpy as np 
import matplotlib.pylab as plt 

arr = np.random.random((1,9)) 
df = pd.DataFrame(arr) 
fig, ax = plt.subplots(1, 1) 
cbar_ax = fig.add_axes([.905, .3, .05, .3]) 
sns.heatmap(arr, ax=ax, cbar_ax = cbar_ax, cbar=True) 

plt.show() 

enter image description here

+0

Спасибо! Это отлично работает. – sealonging314

1

Вы также можете использовать дополнительные аргументы ключевых слов для с.н.с. Heatmap Colorbar в cbar_kws. Они модифицируют настройки для Matplotlib Colorbar документированы here

Используя код @Serenity с усадкой ключевого слова мы получаем следующее:

import seaborn as sns 
import pandas as pd 
import numpy as np 
import matplotlib.pylab as plt 

arr = np.random.random((1,9)) 
df = pd.DataFrame(arr) 
sns.heatmap(arr,cbar=True,cbar_kws={"shrink": .82}) 

plt.show() 

enter image description here

Смежные вопросы