更改 Seaborn 热图的颜色条高度。

15
我有以下Python代码,使用Seaborn包创建热力图:
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)

这将创建以下热力图: 示例热力图 我想格式化此热力图,以便右侧的色条更短。有方法可以实现吗?
2个回答

30

您还可以使用sns热力图颜色条的额外关键字参数cbar_kws。它们修改matplotlib颜色条的设置,这些设置在此处文档中记录。

使用@Serenity的代码和shrinkage关键字,我们得到以下结果:

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


9

使用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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接