Верхняя метка для цветных панелей matplotlib

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

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

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

Ответ 1

Вы можете установить 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()

введите описание изображения здесь