2015-11-16 2 views
10

По умолчанию matplotlib будет размещать метки цветов рядом с вертикальными цветными панелями. Каков наилучший способ заставить ярлык быть на вершине цветной панели? В настоящее время мои потребности решения корректировки labelpad и y значения в зависимости от размера этикетки:Верхняя метка для цветных панелей matplotlib

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

есть лучший, более общий способ сделать это?

ответ

16

Вы можете установить title оси цветной панели (которая появляется над осью), а не label (которая появляется вдоль длинной оси). Чтобы получить доступ к цветной панели Axes, вы можете использовать clb.ax. Затем вы можете использовать set_title, так же, как и для любого другого экземпляра Axes.

Например:

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

Смежные вопросы