Comment montrer Pyplot Grid dans Matplotlib

mo abdelazim 30 janvier 2023
  1. Dessiner un tracé normal dans Matplotlib
  2. Utilisez grid() sur une parcelle dans Matplotlib
  3. Modifier les attributs de la grille dans Matplotlib
  4. Dessinez des lignes verticales ou horizontales
Comment montrer Pyplot Grid dans Matplotlib

Ce tutoriel explique comment dessiner une grille sur un terrain en Python Matplotlib. Nous utiliserons la grid()fonction pour y parvenir. Il montre également comment utiliser les arguments de la grid() function pour personnaliser la couleur et la forme de la grille et même dessiner les lignes verticales ou horizontales uniquement.

Dessiner un tracé normal dans Matplotlib

Commençons par créer deux listes pour représenter les valeurs x et y et utilisons les pour dessiner un graphique. Appelez la fonction plot() et passez les listes x et y en argument, puis appelez la fonction show().

Utilisez les fonctions title(), xlabel et ylabel() pour ajouter un titre et des étiquettes à votre tracé afin de le rendre compréhensible.

from matplotlib import pyplot as plt

x = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
y = [200, 300, 300, 350, 380, 450, 500, 500, 520, 525, 530]

plt.title("MyPlot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

plt.plot(x, y)
plt.show()

Production:

Tracé normal sans grille dans Matplotlib

Mais une intrigue normale semble ennuyeuse et il manque quelque chose. Maintenant, nous devons ajouter une grille à notre parcelle.

Utilisez grid() sur une parcelle dans Matplotlib

Nous utiliserons la fonction Matplotlib grid() pour dessiner une grille au dessus de la parcelle.

Nous devons appeler la fonction grid() avant show(), et cela permettra de dessiner une grille sur la parcelle précédente.

Voir le code ci-dessous.

from matplotlib import pyplot as plt

x = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
y = [200, 300, 300, 350, 380, 450, 500, 500, 520, 525, 530]

plt.title("MyPlot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

plt.plot(x, y)
plt.grid()
plt.show()

Production:

Grille simple dans Matplotlib

Modifier les attributs de la grille dans Matplotlib

La fonction grid() accepte des arguments pour personnaliser la couleur et le style de la grille. Nous pouvons appeler grid() comme ceci: grid(color='r', linestyle='dotted', linewidth=1) pour obtenir une grille avec des lignes rouges, pointillées et fines.

from matplotlib import pyplot as plt

x = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
y = [200, 300, 300, 350, 380, 450, 500, 500, 520, 525, 530]

plt.title("MyPlot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

plt.plot(x, y)
plt.grid(color="r", linestyle="dotted", linewidth=1)
plt.show()

Production:

Attributs de la grille dans Matplotlib

La largeur de ligne est de type données float, et voici tous les codes de couleur et les styles de ligne à votre disposition.

Codes de couleur valides:

code couleur
b bleu
g vert
r rouge
c cyan
m magenta
y jaune
k noir
w blanc

Styles de lignes valides:

  • -
  • --
  • -.
  • :
  • None
  • ``
  • solid
  • dashed
  • dashdot
  • dotted

Dessinez des lignes verticales ou horizontales

La fonction grid() a pour défaut de dessiner les axes horizontal et vertical, mais vous pouvez également personnaliser cette fonction. Vous pouvez utiliser l’argument axis pour ce faire. Appelez la fonction grid() avec axis='x' pour ne dessiner que les lignes verticales ou axis='y' pour ne dessiner que les lignes horizontales ou axis='both' pour les dessiner toutes les deux, ce qui est le comportement par défaut.

Voir le code ci-dessous et sa sortie.

from matplotlib import pyplot as plt

x = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
y = [200, 300, 300, 350, 380, 450, 500, 500, 520, 525, 530]

_, (a, b, c) = plt.subplots(1, 3)

a.grid(axis="y", linestyle="dotted", color="b")
a.plot(x, y)
a.set_title("axis='y'")

b.grid(axis="x", linestyle="dotted", color="b")
b.plot(x, y)
b.set_title("axis='x'")

c.grid(axis="both", linestyle="dotted", color="b")
c.plot(x, y)
c.set_title("axis='both'")

plt.show()

Production:

Grille de l’axe X et de l’axe Y dans Matplotlib