Flere Linjediagrammer
Ofte er det nødvendigt at oprette flere linjediagrammer på et enkelt Axes
-objekt for at sammenligne forskellige tendenser eller mønstre. Dette kan gøres på to hovedmåder. Her er den første metode.
Her er et eksempel på gennemsnitlige årlige temperaturer (i F) for Seattle og 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())
To linjediagrammer vil blive brugt til at sammenligne data fra Seattle og Boston.
Første mulighed
Funktionen plot()
bruges to gange til at oprette to separate linjediagrammer på det samme Axes
-objekt. Bemærk, at indeksene for pandas
Series
anvendes som x-akse værdier — i dette eksempel fungerer årene som indeks.
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()
Anden mulighed
I dette eksempel kaldes funktionen plot()
kun én gang. Da markører er angivet for begge dataserier, tolker matplotlib
dem som to separate plots og bruger Series-indeksene som x-akse værdier.
Hvis markører ikke er angivet, opretter funktionen kun et enkelt plot, hvor den første pandas
Series
anvendes til x-aksen og den anden til y-aksen.
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 mulighed
En anden metode til at oprette flere linjediagrammer i ét enkelt kald er at sende hele DataFrame direkte til plot()
-funktionen.
I dette tilfælde behandler matplotlib
automatisk hver kolonne i DataFrame som et separat linjediagram. Indekset for DataFrame bruges til x-aksen, og værdierne for hver kolonne plottes på y-aksen.
Denne tilgang er praktisk, når du hurtigt vil visualisere flere egenskaber på tværs af et fælles indeks (såsom tid eller kategorier), uden manuelt at kalde plot()
for hver enkelt.
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()
Udforsk gerne endnu mere om linjediagrammer med plot()
funktionsdokumentationen.
Swipe to start coding
- Brug den korrekte funktion til at oprette 2 linjediagrammer.
- Angiv
data_linear
som argument i den første plotfunktion, uden at bruge markører. - Angiv
data_squared
som argument i den anden funktion, brug'o'
markører med fuldt optrukket linje.
Løsning
Tak for dine kommentarer!