Положение текста цветовой полосы базовой карты matplotlib

У меня проблема с положением текста на цветовой полосе. Я использую базовую карту matplotlib для создания графиков и использую функцию colorbar().

Теперь мне нужно поместить цветную полосу в левую часть моей фигуры. Поэтому я использую location='left', но текст галочек и метка даны в правой части палитры, которые перекрывают часть картинки.

Есть ли способ изменить текст в левой части панели?


person innu    schedule 30.10.2012    source источник


Ответы (1)


К сожалению, не полностью интегрированным способом, но большинство вещей возможны, когда вы имеете дело с библиотекой построения объектно-ориентированных графиков, такой как mpl.

Я работал над изменением, которое реализовывало этот функционал в более доступной форме около 3 месяцев назад (https://github.com/matplotlib/matplotlib/pull/956), но мы решили не объединять его, т.к. это сделало это изменение менее применимым к некоторым типам сюжетов.

Чтобы создать цветовую полосу с галочками слева, вы можете сделать что-то вроде:

<your_colorbar_instance>.ax.yaxis.set_ticks_position('left')

Реальный рабочий пример:

import matplotlib
# create a dummy scalar mappable to create a colour bar with:
sm = plt.cm.ScalarMappable(cmap=plt.get_cmap('Reds'))
sm.set_array(range(10))

# create the colorbar and put the ticks on the left hand side
cb = plt.colorbar(sm)
cb.ax.yaxis.set_ticks_position('left')

plt.show()

ХТХ,

person pelson    schedule 31.10.2012
comment
@innu: это вообще помогло? - person pelson; 04.01.2013
comment
Это, конечно, помогло мне, так что спасибо! А как насчет того, чтобы переместить метку цветовой полосы на левую сторону? - person Muon; 05.04.2018
comment
На самом деле не волнуйтесь... <your_colorbar_instance>.ax.yaxis.set_label_position('left') - person Muon; 05.04.2018