Mostra Pyplot Grid in Matplotlib

mo abdelazim 18 luglio 2021
  1. Disegna un grafico normale in Matplotlib
  2. Usa grid() su un grafico in Matplotlib
  3. Modificare gli attributi della griglia in Matplotlib
  4. Disegna linee verticali o orizzontali
Mostra Pyplot Grid in Matplotlib

Questo tutorial spiega come disegnare una griglia sopra un grafico in Python Matplotlib. Useremo la funzione grid() per ottenere questo risultato. Dimostra anche come usare gli argomenti grid() funzione per personalizzare il colore e la forma della griglia e persino disegnare solo le linee verticali o orizzontali.

Disegna un grafico normale in Matplotlib

Iniziamo creando due liste per rappresentare i valori x e y e usali per disegnare un grafico. Chiama la funzione plot() e passa le liste x e y come argomenti, quindi chiama la funzione show().

Usa le funzioni title(), xlabel e ylabel() per aggiungere titolo ed etichette alla trama per renderla comprensibile.

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

Produzione:

Grafico normale senza griglia in Matplotlib

Ma una trama normale sembra noiosa e manca qualcosa. Ora dobbiamo aggiungere una griglia al nostro grafico.

Usa grid() su un grafico in Matplotlib

Useremo la funzione Matplotlib grid() per disegnare una griglia sopra il grafico.

Dobbiamo chiamare la funzione grid() prima di show(), e questo disegnerà una griglia sul grafico precedente.

Vedi il codice qui sotto.

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

Produzione:

Griglia semplice in Matplotlib

Modificare gli attributi della griglia in Matplotlib

La funzione grid()(https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.grid.html) accetta argomenti per personalizzare il colore e lo stile della griglia. Possiamo chiamare grid()(https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.grid.html) in questo modo plt.grid(color='r', linestyle='dotted', linewidth=1) per ottenere una griglia con linee rosse, punteggiate e sottili.

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

Produzione:

Attributi della griglia in Matplotlib

La larghezza di riga è del tipo di dati float e qui ci sono tutti i codici colore e gli stili di linea disponibili.

Codici colore validi:

codice colore
b blu
g verde
r rosso
c ciano
m magenta
y giallo
k nero
w bianca

Stili di linea validi:

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

Disegna linee verticali o orizzontali

L’impostazione predefinita della funzione grid() è di disegnare sia l’asse orizzontale che quello verticale, ma potresti voler personalizzare anche questo. Puoi usare l’argomento dell’asse per farlo. Chiama la grid() con axis='x' per disegnare solo le linee verticali o axis='y' per disegnare solo le linee orizzontali o axis='both' per disegnarle entrambe, che è il comportamento predefinito.

Vedi il codice qui sotto e il suo output.

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

Produzione:

Griglia asse X asse Y in Matplotlib