Come aggiungere una linea di tendenza in matplotlib (con esempio)


È possibile utilizzare la seguente sintassi di base per aggiungere una linea di tendenza a un grafico in Matplotlib:

 #create scatterplot
plt. scatter (x,y)

#calculate equation for trendline
z = np. polyfit (x, y, 1)
p = np. poly1d (z)

#add trendline to plot
plt. plot (x, p(x))

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio 1: crea una linea di tendenza lineare in Matplotlib

Il codice seguente mostra come creare una linea di tendenza di base per un grafico a dispersione in Matplotlib:

 import numpy as np
import matplotlib. pyplot as plt

#define data
x = np. array ([8, 13, 14, 15, 15, 20, 25, 30, 38, 40])
y = np. array ([5, 4, 18, 14, 20, 24, 28, 33, 30, 37])

#create scatterplot
plt. scatter (x,y)

#calculate equation for trendline
z = np. polyfit (x, y, 1 )
p = np. poly1d (z)

#add trendline to plot
plt. plot (x, p(x)) 

I punti blu rappresentano i punti dati e la linea blu retta rappresenta la linea di tendenza lineare.

Tieni presente che puoi anche utilizzare gli argomenti color , linewidth e linestyle per modificare l’aspetto della linea di tendenza:

 #add custom trendline to plot
plt. plot (x, p(x), color=" purple ", linewidth= 3 , linestyle=" -- ")

Esempio 2: creare una linea di tendenza polinomiale in Matplotlib

Per creare una linea di tendenza polinomiale, è sufficiente modificare il valore nella funzione np.polyfit() .

Ad esempio, potremmo utilizzare un valore pari a 2 per creare una linea di tendenza quadratica:

 import numpy as np
import matplotlib. pyplot as plt

#define data
x = np. array ([8, 13, 14, 15, 15, 20, 25, 30, 38, 40])
y = np. array ([5, 4, 18, 14, 20, 24, 28, 33, 30, 37])

#create scatterplot
plt. scatter (x,y)

#calculate equation for quadratic trendline
z = np. polyfit (x,y, 2 )
p = np. poly1d (z)

#add trendline to plot
plt. plot (x, p(x)) 

Tieni presente che la linea di tendenza ora è curva anziché diritta.

Questa linea di tendenza polinomiale è particolarmente utile quando i dati hanno uno schema non lineare e una linea retta non riesce a catturare adeguatamente la tendenza dei dati.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre funzioni comuni in Matplotlib:

Come nascondere gli assi in Matplotlib
Come ruotare le etichette dei segni di spunta in Matplotlib
Come modificare il numero di tick in Matplotlib

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *