Ответ 1
Параметр cbar
определяет, следует ли добавить цветную панель, а параметр cbar_ax
может дополнительно указать оси, в которые должна идти цветовая панель. Итак, вы можете сделать:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random((10,10,)))
fig, axn = plt.subplots(2, 2, sharex=True, sharey=True)
cbar_ax = fig.add_axes([.91, .3, .03, .4])
for i, ax in enumerate(axn.flat):
sns.heatmap(df, ax=ax,
cbar=i == 0,
vmin=0, vmax=1,
cbar_ax=None if i else cbar_ax)
fig.tight_layout(rect=[0, 0, .9, 1])
(Здесь вы получите предупреждение о tight_layout
, но это действительно правильно, потому что мы явно разместили cbar_ax
. Если вам не нравится видеть предупреждение, вы можете также вызвать tight_layout
перед графикой, но это будет не так сильно).