Par défaut, matplotlib
positionnerait les étiquettes des barres de couleurs à côté des barres de couleurs verticales. Quelle est la meilleure façon de forcer l'étiquette à se trouver au-dessus d'une barre de couleur? Actuellement, ma solution doit ajuster les valeurs de labelpad
et y
en fonction de la taille de l'étiquette:
import numpy as np
import matplotlib.pylab as plt
dat = np.random.randn(10,10)
plt.imshow(dat, interpolation='none')
clb = plt.colorbar()
clb.set_label('label', labelpad=-40, y=1.05, rotation=0)
plt.show()
Existe-t-il une meilleure façon, plus générique, de procéder?
Vous pouvez définir le title
de l'axe de la barre de couleur (qui apparaît au-dessus de l'axe), plutôt que le label
(qui apparaît le long de l'axe long). Pour accéder au Axes
de la barre de couleurs, vous pouvez utiliser clb.ax
. Vous pouvez ensuite utiliser set_title
, de la même manière que pour toute autre instance Axes
.
Par exemple:
import numpy as np
import matplotlib.pylab as plt
dat = np.random.randn(10,10)
plt.imshow(dat, interpolation='none')
clb = plt.colorbar()
clb.ax.set_title('This is a title')
plt.show()