Graphes à Lignes Multiples
Il est souvent nécessaire de créer plusieurs graphiques linéaires sur un même objet Axes
afin de comparer différentes tendances ou motifs. Cela peut être réalisé de deux manières principales. Voici la première approche.
Voici un échantillon des températures moyennes annuelles (en F) de Seattle et 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())
Deux graphiques linéaires seront utilisés pour comparer les données de Seattle et Boston.
Première option
La fonction plot()
est utilisée deux fois pour créer deux graphiques linéaires distincts sur le même objet Axes
. Rappel : les indices de la pandas
de Series
sont utilisés comme valeurs de l’axe des x — dans cet exemple, les années servent d’indices.
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()
Deuxième option
Dans cet exemple, la fonction plot()
n’est appelée qu’une seule fois. Puisque des marqueurs sont spécifiés pour les deux séries de données, matplotlib
les interprète comme deux graphiques distincts et utilise les indices des Series comme valeurs de l’axe des x.
Si aucun marqueur n’est spécifié, la fonction crée un seul graphique, utilisant la première pandas
de Series
pour l’axe des x et la seconde pour l’axe des 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()
Troisième option
Une autre méthode pour créer plusieurs tracés de lignes en un seul appel consiste à passer l'intégralité du DataFrame directement à la fonction plot()
.
Dans ce cas, matplotlib
considère automatiquement chaque colonne du DataFrame comme un tracé de ligne distinct. L'index du DataFrame est utilisé pour l'axe des abscisses, et les valeurs de chaque colonne sont tracées sur l'axe des ordonnées.
Cette approche est pratique lorsque l'on souhaite visualiser rapidement plusieurs caractéristiques sur un index commun (tel que le temps ou des catégories), sans devoir appeler manuellement plot()
pour chacune d'elles.
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()
N'hésitez pas à approfondir vos connaissances sur les graphiques linéaires grâce à la documentation de la fonction plot()
.
Swipe to start coding
- Utiliser la fonction appropriée pour créer 2 graphiques linéaires.
- Passer
data_linear
comme argument dans la première fonction de tracé, sans utiliser de marqueurs. - Passer
data_squared
comme argument dans la deuxième fonction, en utilisant des marqueurs'o'
avec une ligne continue.
Solution
Merci pour vos commentaires !