我有一个使用 seaborn
库创建的基本热图,我想将颜色条从默认的垂直右侧移动到热图上方的水平颜色条。我怎样才能做到这一点?
下面是一些示例数据和默认示例:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
# Create data
df = pd.DataFrame(np.random.random((5,5)), columns=["a","b","c","d","e"])
# Default heatma
ax = sns.heatmap(df)
plt.show()
原文由 rer 发布,翻译遵循 CC BY-SA 4.0 许可协议
查看 文档 我们发现一个参数
cbar_kws
。这允许指定传递给 matplotlib 的fig.colorbar
方法的参数。所以我们可以使用 --- 的任何可能参数,为
cbar_kws
fig.colorbar
提供字典。在这种情况下,您需要
location="top"
将颜色条放在顶部。因为colorbar
默认情况下使用 gridspec 定位颜色条,然后不允许设置位置,我们需要关闭该 gridspec (use_gridspec=False
)。完整示例: