Mehrfach-Liniendiagramme
Oft ist es notwendig, mehrere Liniendiagramme auf einem einzigen Axes
-Objekt zu erstellen, um verschiedene Trends oder Muster zu vergleichen. Dies kann auf zwei Hauptarten erfolgen. Hier ist der erste Ansatz.
Hier ist eine Stichprobe der durchschnittlichen Jahrestemperaturen (in F) von Seattle und 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())
Zwei Liniendiagramme werden verwendet, um die Daten von Seattle und Boston zu vergleichen.
Erste Möglichkeit
Die Funktion plot()
wird zweimal verwendet, um zwei separate Liniendiagramme auf demselben Axes
-Objekt zu erstellen. Beachte, dass die Indizes der pandas
-Series
als x-Achsenwerte verwendet werden — in diesem Beispiel dienen die Jahre als Indizes.
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()
Zweite Möglichkeit
In diesem Beispiel wird die Funktion plot()
nur einmal aufgerufen. Da Marker für beide Datenreihen angegeben sind, interpretiert matplotlib
diese als zwei separate Plots und verwendet die Indizes der Series als x-Achsenwerte.
Wenn keine Marker angegeben werden, erstellt die Funktion nur ein einziges Diagramm, wobei die erste pandas
-Series
für die x-Achse und die zweite für die y-Achse verwendet wird.
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()
Dritte Option
Eine weitere Möglichkeit, mehrere Liniendiagramme in einem einzigen Aufruf zu erstellen, besteht darin, das gesamte DataFrame direkt an die Funktion plot()
zu übergeben.
In diesem Fall behandelt matplotlib
jede Spalte im DataFrame automatisch als separates Liniendiagramm. Der Index des DataFrames wird für die x-Achse verwendet, und die Werte jeder Spalte werden auf der y-Achse dargestellt.
Dieser Ansatz ist praktisch, wenn mehrere Merkmale über einen gemeinsamen Index (wie Zeit oder Kategorien) schnell visualisiert werden sollen, ohne für jedes einzeln plot()
aufrufen zu müssen.
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()
Weitere Informationen zu Liniendiagrammen finden Sie in der plot()
-Funktionsdokumentation.
Swipe to start coding
- Die korrekte Funktion zur Erstellung von 2 Liniendiagrammen verwenden.
data_linear
als Argument in der ersten Plot-Funktion übergeben, keine Marker verwenden.data_squared
als Argument in der zweiten Funktion übergeben,'o'
Marker mit durchgezogener Linie verwenden.
Lösung
Danke für Ihr Feedback!