Matplotlib intermédiaire

Limites des axes, graduations et échelle log

Fixez les limites des axes, choisissez la position et le texte des graduations et passez en échelle log avec set_yscale.

Introduction

Matplotlib choisit les limites et les graduations à votre place, mais vous savez souvent mieux. set_xlim et set_ylim choisissent la plage visible, set_xticks choisit où vont les graduations et ce qu'elles affichent, et set_yscale("log") transforme une croissance qui double en ligne droite.

Les utilisateurs doublent chaque semaine : sur un axe normal, les premières semaines paraissent plates et les dernières s'envolent. En échelle log, chaque doublement prend la même hauteur, la ligne est droite et chaque semaine est lisible. set_xticks(x, labels) place une graduation par semaine nommée W1, W2, etc. ; set_xlim laisse un peu d'espace aux deux bouts.

Visualiseur interactif

Activez et désactivez l'échelle log. Sur un axe normal, les premières semaines se cachent près de zéro ; en échelle log, chaque doublement prend la même hauteur.

Exemple Matplotlib exécutable

Matplotlib
Exécuter le code →
main.py
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1, 11)
users = 50 * 2.0 ** x

fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(x, users, marker="o")
ax.set_yscale("log")
ax.set_xlim(0.5, 10.5)
ax.set_xticks(x, [f"W{i}" for i in x])
ax.set_xlabel("Week")
ax.set_ylabel("Users (log scale)")
ax.set_title("Users double every week")
plt.show()
Obtenir un bouton Run pour cet exemple Le graphique tracé par ce code
Limites des axes, graduations et échelle log