Если я сюжет логарифмическая шкала графика, Matplotlib дает мне хорошо выглядящий записей из 10 , 10 ...Как изменить формат метки оси в Matplotlib
Для удобочитаемости I однако предпочли бы форму 1e5, 1e6, ...
Могу ли я напрямую настроить свойства оси таким образом?
Я довольно некрасиво хак бы:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 40, 100);
y = np.linspace(1, 5, 100);
# Actually plot the exponential values
plt.plot(x, 10**y)
ax = plt.gca()
ax.set_yscale('log')
# Rewrite the y labels
y_labels = ax.get_yticks()
ax.set_yticklabels(['1e%i' % np.round(np.log(y)/np.log(10)) for y in y_labels])
plt.show()
Но, конечно же, должно быть лучше.
Там, наверное, каким-то образом с помощью [ 'ticker'] (http://matplotlib.org /api/ticker_api.html) и 'FormatStrFormatter' – tom