Voici un exemple qui montre une barre de couleur pour chaque sous-intrigue:
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)
for ax in axn.flat:
sns.heatmap(df, ax=ax)
Comment supprimer les barres de couleur de chaque sous-tracé? J'aimerais avoir une seule barre de couleur orientée verticalement ou horizontalement. Je sais que j'ai accès à chaque axe de la barre de couleurs via fig.get_axes()[:-4]
, mais comment puis-je les supprimer entièrement de l'intrigue? Je ne pense pas qu'il existe une option pour désactiver le dessin de la barre de couleurs lors de l'appel de la carte thermique.
Le paramètre cbar
contrôle si une barre de couleur doit être ajoutée, et le paramètre cbar_ax
Peut éventuellement spécifier les axes où la barre de couleur doit aller. Donc, vous pourriez faire:
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])
(Vous obtiendrez un avertissement concernant tight_layout
Ici, mais c'est en fait correct parce que nous avons placé cbar_ax
Explicitement. Si vous n'aimez pas voir l'avertissement, vous pouvez également appeler tight_layout
avant de comploter, mais ce ne sera pas aussi serré).