Flera Linjediagram
Ofta är det nödvändigt att skapa flera linjediagram på ett enda Axes
-objekt för att jämföra olika trender eller mönster. Detta kan göras på två huvudsakliga sätt. Här är det första tillvägagångssättet.
Här är ett exempel på genomsnittliga årliga temperaturer (i F) för Seattle och Boston:
import pandas as pd url = 'https://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())
Två linjediagram kommer att användas för att jämföra data från Seattle och Boston.
Första alternativet
Funktionen plot()
används två gånger för att skapa två separata linjediagram på samma Axes
-objekt. Observera att indexen i pandas
Series
används som x-axelns värden — i detta exempel fungerar åren som index.
import matplotlib.pyplot as plt import pandas as pd weather_df = pd.read_csv('https://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()
Andra alternativet
I detta exempel anropas funktionen plot()
endast en gång. Eftersom markörer anges för båda dataserierna tolkar matplotlib
dem som två separata diagram och använder Series-indexen som x-axelns värden.
Om markörer inte anges skapar funktionen endast ett enda diagram, där den första pandas
Series
används för x-axeln och den andra för y-axeln.
import matplotlib.pyplot as plt import pandas as pd weather_df = pd.read_csv('https://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()
Tredje alternativet
Ett annat sätt att skapa flera linjediagram i ett enda anrop är att skicka hela DataFrame direkt till funktionen plot()
.
I detta fall behandlar matplotlib
automatiskt varje kolumn i DataFrame som ett separat linjediagram. Indexet för DataFrame används för x-axeln, och värdena i varje kolumn plottas på y-axeln.
Detta tillvägagångssätt är praktiskt när du snabbt vill visualisera flera egenskaper över ett gemensamt index (såsom tid eller kategorier), utan att manuellt anropa plot()
för varje enskild.
import matplotlib.pyplot as plt import pandas as pd weather_df = pd.read_csv('https://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()
Utforska gärna ännu mer om linjediagram med plot()
funktionsdokumentation.
Swipe to start coding
- Använd rätt funktion för att skapa 2 linjediagram.
- Skicka
data_linear
som argument i första plot-funktionen, använd inga markörer. - Skicka
data_squared
som argument i andra funktionen, använd'o'
-markörer med heldragen linje.
Lösning
Tack för dina kommentarer!