Grafici a Linee Multiple
Spesso è necessario creare più grafici a linee su un singolo oggetto Axes
per confrontare diverse tendenze o pattern. Questo può essere fatto in due modi principali. Ecco il primo approccio.
Ecco un esempio delle temperature medie annuali (in F) di Seattle e Boston:
import pandas as pd url = 'https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' # Loading the dataset with the average yearly temperatures in Boston and Seattle weather_df = pd.read_csv(url, index_col=0) print(weather_df.head())
Due grafici a linee verranno utilizzati per confrontare i dati di Seattle e Boston.
Prima Opzione
La funzione plot()
viene utilizzata due volte per creare due grafici a linee separati sullo stesso oggetto Axes
. Ricorda che gli indici della pandas
di Series
sono utilizzati come valori dell'asse x — in questo esempio, gli anni fungono da indici.
import matplotlib.pyplot as plt import pandas as pd weather_df = pd.read_csv('https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv', index_col=0) # Calling the plot() function for each of the line plots plt.plot(weather_df['Boston'], '-o') plt.plot(weather_df['Seattle'], '-o') plt.show()
Seconda Opzione
In questo esempio, la funzione plot()
viene chiamata solo una volta. Poiché i marker sono specificati per entrambe le serie di dati, matplotlib
le interpreta come due grafici separati e utilizza gli indici delle Series come valori dell'asse x.
Se i marker non sono specificati, la funzione crea un solo grafico, utilizzando la prima pandas
di Series
per l'asse x e la seconda per l'asse y.
import matplotlib.pyplot as plt import pandas as pd weather_df = pd.read_csv('https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv', index_col=0) # Calling the plot() function once for two line plots plt.plot(weather_df['Boston'], '-o', weather_df['Seattle'], '-o') plt.show()
Terza opzione
Un altro modo per creare più grafici a linee in una singola chiamata è passare l'intero DataFrame direttamente alla funzione plot()
.
In questo caso, matplotlib
tratta automaticamente ogni colonna del DataFrame come un grafico a linee separato. L'indice del DataFrame viene utilizzato per l'asse x, mentre i valori di ciascuna colonna vengono tracciati sull'asse y.
Questo approccio è conveniente quando si desidera visualizzare rapidamente più caratteristiche su un indice comune (come il tempo o le categorie), senza dover chiamare manualmente plot()
per ciascuna di esse.
import matplotlib.pyplot as plt import pandas as pd weather_df = pd.read_csv('https://staging-content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv', index_col=0) # Calling the plot() function for whole DataFrame plt.plot(weather_df, '-o') plt.show()
Sentiti libero di approfondire ulteriormente i grafici a linee consultando la documentazione della funzione plot()
.
Swipe to start coding
- Utilizzare la funzione corretta per creare 2 grafici a linee.
- Passare
data_linear
come argomento nella prima funzione di plot, senza utilizzare marker. - Passare
data_squared
come argomento nella seconda funzione, utilizzando marker'o'
con linea continua.
Soluzione
Grazie per i tuoi commenti!