Comment tracer une ligne horizontale et verticale dans Matplotlib

Jinku Hu 21 mars 2022
  1. Axhline et Axvline pour tracer des lignes horizontales et verticales dans Matplotlib
  2. hlines et vlines pour tracer des lignes horizontales et verticales dans Matplotlib
  3. Conclusion du dessin des lignes horizontales et verticales dans Matplotlib
Comment tracer une ligne horizontale et verticale dans Matplotlib

Dans ce tutoriel, nous introduirons deux méthodes pour tracer des lignes horizontales et verticales dans Matplotlib. Ces deux méthodes utilisent des coordonnées différentes dans Matplotlib.

  • axhline() / axvline()
  • hlines() / vlines()

Axhline et Axvline pour tracer des lignes horizontales et verticales dans Matplotlib

pour tracer une ligne horizontale

matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1, hold=None, **kwargs)

La ligne d’axe trace une ligne horizontale à la position de y en coordonnées de données de la ligne horizontale, en partant de xmin à xmax qui doit être comprise entre 0.0 et 1.0, où 0.0 est l’extrême gauche du tracé et 1.0 est l’extrême droite du tracé.

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_ * 2 for _ in xdata]

plt.plot(xdata, ydata, "b")

plt.axhline(y=5, xmin=0.1, xmax=0.9)

plt.grid()
plt.show()

Matplotlib_plot ligne horizontale avec ligne d’axe

pour tracer une ligne verticale

De même,

matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, hold=None, **kwargs)

La ligne d’axe trace une ligne verticale à la position de x en coordonnée de données de la ligne verticale, en partant de ymin à ymax qui devrait être entre 0.0 et 1.0, où 0.0 est le bas du tracé et 1.0 est le haut du tracé.

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_ * 2 for _ in xdata]

plt.plot(xdata, ydata, "b")

plt.axvline(x=5, ymin=0.1, ymax=0.9)

plt.grid()
plt.show()

Matplotlib_plot ligne verticale avec axhline

Comme indiqué ci-dessus, xmin / xmax et ymin / ymax se rapportent au tracé, mais pas aux lignes de données.

Par conséquent, si nous effectuons un zoom avant ou arrière sur le tracé, les points de départ et d’arrivée des lignes horizontales et verticales seront mis à jour avec la référence à la coordonnée des données, mais s’en tiendront aux positions relatives dans la coordonnée du tracé. Nous pourrions vérifier l’animation ci-dessous pour mieux comprendre.

Effet de zoom sur les lignes horizontales et verticales de Matplotlib

hlines et vlines pour tracer des lignes horizontales et verticales dans Matplotlib

Si nous voulons que les lignes horizontales et verticales tracées changent automatiquement pour conserver la position relative par rapport aux coordonnées des données, nous devons utiliser des hlines et des vlines pour tracer les lignes.

hlines(y, xmin, xmax)

Ici, y, xmin et xmax sont les valeurs des coordonnées des données.

vlines(x, ymin, ymax)

Ici, x, ymin et ymax sont les valeurs de la coordonnée de la donnée.

Voyons les exemples de codes ci-dessous.

from matplotlib import pyplot as plt

xdata = list(range(10))
ydata = [_ * 2 for _ in xdata]

plt.plot(xdata, ydata, "b")

plt.hlines(y=5, xmin=0, xmax=10)
plt.vlines(x=5, ymin=0, ymax=20)

plt.grid()
plt.show()

Matplotlib_hlines et vlines pour tracer des lignes horizontales et verticales

Effet de zoom horizontal et vertical sur les lignes h et v de Matplotlib

Conclusion du dessin des lignes horizontales et verticales dans Matplotlib

Si vous avez besoin que la ligne soit référencée au tracé, axhline et axvline devraient être la meilleure option.

Si vous préférez que la ligne s’en tienne à la coordonnée de la donnée, hlines et vlines sont les meilleurs choix.

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - Matplotlib Line