Comment puis-je changer le format de l'étiquette d'axe en matplotlib

Si j'ai tracé un journal échelle graphique, matplotlib me donne l'agréable à regarder entrées 105, 106, ...

Pour des raisons de lisibilité, je voudrais cependant préférer la forme 1e5, 1e6, ...

Puis-je régler directement les propriétés de l'axe de se comporter de cette façon?

J'ai plutôt moche hack serait:

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()

Comment puis-je changer le format de l'étiquette d'axe en matplotlib

Mais il doit sûrement y avoir une meilleure façon.

  • Il y a probablement une certaine façon avec ticker et FormatStrFormatter
InformationsquelleAutor magu_ | 2015-06-04