2015-11-16 11 views
10

Standardmäßig positioniert matplotlib Farbbalkenbeschriftungen neben den vertikalen Farbbalken. Was ist der beste Weg, um das Etikett auf eine Farbleiste zu setzen? Derzeit Anpassung meiner Lösung Bedürfnisse labelpad und y Werte je nach Größe des Etiketts:Obere Beschriftung für Matplotlib-Farbbalken

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() 

colorbar top label

Gibt es eine bessere, generische Art und Weise, dies zu tun?

Antwort

16

Sie könnten die title der Farbbalkenachse (die über der Achse angezeigt wird) anstelle der label (die entlang der langen Achse angezeigt wird) festlegen. Um auf die Farbleiste Axes zuzugreifen, können Sie clb.ax verwenden. Sie können dann set_title auf die gleiche Weise wie für jede andere Axes Instanz verwenden.

Zum Beispiel:

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() 

enter image description here

Verwandte Themen