Flere Linjediagrammer
Ofte er det nødvendig å lage flere linjediagrammer på et enkelt Axes
-objekt for å sammenligne ulike trender eller mønstre. Dette kan gjøres på to hovedmåter. Her er den første tilnærmingen.
Her er et utvalg av gjennomsnittlige å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 bli brukt for å sammenligne data fra Seattle og Boston.
Første alternativ
Funksjonen plot()
brukes to ganger for å lage to separate linjediagrammer på det samme Axes
-objektet. Husk at indeksene til pandas
-Series
brukes som x-akse-verdier — i dette eksempelet fungerer årene som indekser.
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()
Andre alternativ
I dette eksempelet kalles plot()
-funksjonen kun én gang. Siden markører er spesifisert for begge dataseriene, tolker matplotlib
dem som to separate diagrammer og bruker Series-indeksene som x-akse-verdier.
Hvis markører ikke er spesifisert, lager funksjonen kun et enkelt diagram, der den bruker den første pandas
-Series
for x-aksen og den andre for 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 alternativ
En annen måte å lage flere linjediagrammer i én enkelt funksjonskall, er å sende hele DataFrame direkte til plot()
-funksjonen.
I dette tilfellet behandler matplotlib
automatisk hver kolonne i DataFrame som et eget linjediagram. Indeksen til DataFrame brukes for x-aksen, og verdiene i hver kolonne plottes på y-aksen.
Denne tilnærmingen er praktisk når du raskt vil visualisere flere egenskaper over en felles indeks (for eksempel tid eller kategorier), uten å måtte kalle plot()
manuelt 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()
Utforsk gjerne mer om linjediagrammer med plot()
funksjonsdokumentasjon.
Swipe to start coding
- Bruk riktig funksjon for å lage 2 linjediagrammer.
- Send inn
data_linear
som argument i første plot-funksjon, ikke bruk markører. - Send inn
data_squared
som argument i andre funksjon, bruk'o'
-markører med heltrukket linje.
Løsning
Takk for tilbakemeldingene dine!