Найден.
Цветовая панель имеет необязательный аргумент format
.Вы можете указать простые научные обозначения или десятичные форматы с простыми текстовыми аргументами.Вы также можете указать объект ScalarFormatter
в качестве аргумента.Объект ScalarFormatter имеет функцию set_powerlimits(min,max)
.Если она вызывает эту функцию, любое число меньше 10 ^ min или больше 10 ^ max будет выражено в научной нотации.Если весь диапазон значений вашей цветовой шкалы меньше 10 ^ мин или больше 10 ^ макс, ваша цветовая полоса будет отображать результаты в соответствии с запросом в OP: научная запись только с мантиссами по сторонам от полосы и одним показателем наТоп.Для моего случая, когда значения цветовой шкалы были порядка 10 ^ -6, я сделал:
import matplotlib.ticker # here's where the formatter is
cbformat = matplotlib.ticker.ScalarFormatter() # create the formatter
cbformat.set_powerlimits((-2,2)) # set the limits for sci. not.
# do whatever plotting you have to do
fig = plt.figure()
ax1 = # create some sort of axis on fig
plot1 = ax1.... # do your plotting here ... plot, contour, contourf, whatever
# now add colorbar with your created formatter as an argument
fig.colorbar(plot1, ax=ax1, format=cbformat)