Параметры аннотации можно изменить с помощью annot_kws
. Одним из них является вращение.
Некоторые параметры цветовой панели можно изменить с помощью cbar_kwsdict
, но, к сожалению, ориентация меток не входит в их число. Поэтому вам нужна ручка для топора цветовой шкалы. Один из способов - заранее создать топор и передать его sns.heatmap(..., cbar_ax=ax)
. Более простой способ - получить дескриптор впоследствии: cbar = heatmap.collections[0].colorbar
.
С помощью этого дескриптора ax
вы можете изменить другие свойства цветовой панели, например ориентацию ее меток. Кроме того, их вертикальное выравнивание может быть изменено для центрирования.
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
data = np.random.rand(1, 12)
fig, ax = plt.subplots(figsize=(10,2))
heatmap = sns.heatmap(data, cbar=True, ax=ax,
annot=True, fmt='.2f', annot_kws={'rotation': 90})
cbar = heatmap.collections[0].colorbar
# heatmap.set_yticklabels(heatmap.get_yticklabels(), rotation=90)
heatmap.set_xticklabels(heatmap.get_xticklabels(), rotation=90)
cbar.ax.set_yticklabels(cbar.ax.get_yticklabels(), rotation=90, va='center')
plt.tight_layout()
plt.show()