Формат цветовой полосы Matplotlib при использовании экспоненциальной записи

Докучаю глупым вопросом, но ответа не нашел. Я пытаюсь добавить цветовую полосу к изображению с помощью matplotlib. Проблема возникает, когда я пытаюсь отформатировать галочки на цветовой полосе. Я хотел бы иметь научный формат записи, но при этом контролировать количество знаков после запятой в тиках. Например, с этим кодом:

#format the colorbar ticks labels
sfmt=ticker.ScalarFormatter(useMathText=True) 
sfmt.set_powerlimits((0, 0))

cb1=fig1.colorbar(imp,
              cax=axcbar,
              orientation="vertical",
              ticks=np.linspace(1.03*np.min(imest),0.97*np.max(imest),4),
              format=sfmt)
cb1.set_label(r'$kg/s.m^2$')

Я создаю эту фигуру:

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

Я хотел бы иметь в тиках только один десятичный знак (т.е. 5,210 --> 5,2). Возможно ли это простым способом? Я пробовал много вещей без успеха.

Заранее спасибо.


person DanielPerez    schedule 04.01.2017    source источник


Ответы (1)


Вы можете изменить массив галочки с

ticks = np.linspace(1.03*np.min(imest),0.97*np.max(imest),4)

на что-то вроде:

ticks = np.arange(2.2, 6.2, 1) * 1e6

И результат будет выглядеть как сюжет: введите здесь описание изображения

person Lucas    schedule 05.01.2017