2013-07-24 2 views
6

В графике, созданном matplotlib.pyplot, как я могу заставить метки оси отображаться в экспоненциальных обозначениях? Кажется, это делается автоматически для значений < 1e-6, но, скажем, 5e-6, я получаю «0.000005». Я бы предпочел, чтобы он был показан как «5e-6» также для этого диапазона.Matplotlib.pyplot: обозначение метки экспоненциальной оси

+0

http://matplotlib.org/api/ticker_api.html#matplotlib.ticker.FormatStrFormatter ' "% е"' экспоненциальный –

ответ

5

Это кажется как вы должны быть в состоянии установить пределы мощности для ScalarFormatter для осей. (Непроверенный код)

# Set limits to x < 10^1 and x > 10^-1 
# (overlapping, thus all inclusive, hopefully) 
gca().get_yaxis().get_major_formatter().set_powerlimits((0, 0)) 
+3

Вы можете сделать один лучше и просто позвонить 'set_powerlimits' на 'gca(). get_major_formatter()' – tacaswell

+0

@tcaswell: Приятно, спасибо. – voithos

+1

@voithos: Мне пришлось использовать 'gca(). Yaxis.get_major_formatter(). Set_powerlimits ((- 1,1))'. Есть ли (элегантный) способ применить изменение к обеим осям за один раз? @tcaswell: Как вы это делаете? Вызов 'set_powerlimits' без аргументов дал ошибку. – gandi2223

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