J'ai créé ce tracé en utilisant Matlab
En utilisant matplotlib, les x-axies dessinent de grands nombres tels que 100000, 200000, 300000. Je voudrais avoir quelque chose comme 1, 2, 3 et un 10 ^ 5 pour indiquer qu'il s'agit en fait de 100000, 200000, 300000.
Existe-t-il un moyen simple de créer une telle échelle dans matplotlib?
python
matplotlib
Aigle
la source
la source
ticklabel_format
est également une méthode pour les objets axes, vous pouvez essayer quelque chose commeax.ticklabel_format(style='sci', axis='x', scilimits=(0,0))
[0.1, 0.2, ...]
et je préférerais[1, 2, ...]
avec un exposant ajusté. avez-vous pu trouver une solution à cela?Ce n'est pas tant une réponse à votre question initiale qu'à l'une des questions que vous aviez dans le corps de votre question.
Un petit préambule, pour que mon nom ne semble pas étrange:
Comme cela a été mentionné, vous pouvez utiliser ticklabel_format pour spécifier que matplotlib doit utiliser la notation scientifique pour les valeurs grandes ou petites:
Vous pouvez modifier la façon dont cela s'affiche en utilisant les indicateurs dans rcParams (à partir de matplotlib import rcParams) ou en les définissant directement. Je n'ai pas trouvé de moyen plus élégant de changer entre la notation scientifique '1e' et 'x10 ^' que:
Cela devrait vous donner une apparence plus Matlab-esc, et sans doute meilleure. Je pense que ce qui suit devrait faire de même:
la source
Le formateur scalaire prend en charge la collecte des exposants. Les documents sont les suivants:
votre technique serait:
Pour afficher l'exposant au format
x10^5
, instanciez le ScalarFormatter avecuseMathText=True
.Vous pouvez également utiliser:
Pour obtenir un résultat comme celui-ci:
la source
useMathText=True
pour obtenirx10^4
.Je trouve la solution simple
la source