Pandas : Comment tracer plusieurs DataFrames dans des sous-parcelles



Vous pouvez utiliser la syntaxe de base suivante pour tracer plusieurs DataFrames pandas dans des sous-tracés :

import matplotlib.pyplot as plt

#define subplot layout
fig, axes = plt.subplots(nrows=2, ncols=2)

#add DataFrames to subplots
df1.plot(ax=axes[0,0])
df2.plot(ax=axes[0,1])
df3.plot(ax=axes[1,0])
df4.plot(ax=axes[1,1])

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : tracer plusieurs DataFrames Pandas dans des sous-parcelles

Supposons que nous ayons quatre DataFrames pandas qui contiennent des informations sur les ventes et les retours dans quatre magasins de détail différents :

import pandas as pd

#create four DataFrames
df1 = pd.DataFrame({'sales': [2, 5, 5, 7, 9, 13, 15, 17, 22, 24],
                    'returns': [1, 2, 3, 4, 5, 6, 7, 8, 7, 5]})

df2 = pd.DataFrame({'sales': [2, 5, 11, 18, 15, 15, 14, 9, 6, 7],
                    'returns': [1, 2, 0, 2, 2, 4, 5, 4, 2, 1]})

df3 = pd.DataFrame({'sales': [6, 8, 8, 7, 8, 9, 10, 7, 8, 12],
                    'returns': [1,0, 1, 1, 1, 2, 3, 2, 1, 3]})

df4 = pd.DataFrame({'sales': [10, 7, 7, 6, 7, 6, 4, 3, 3, 2],
                    'returns': [4, 4, 3, 3, 2, 3, 2, 1, 1, 0]})

Nous pouvons utiliser la syntaxe suivante pour tracer chacun de ces DataFrames dans un sous-tracé ayant une disposition de 2 lignes et 2 colonnes :

import matplotlib.pyplot as plt

#define subplot layout
fig, axes = plt.subplots(nrows=2, ncols=2)

#add DataFrames to subplots
df1.plot(ax=axes[0,0])
df2.plot(ax=axes[0,1])
df3.plot(ax=axes[1,0])
df4.plot(ax=axes[1,1])

intrigues secondaires de pandas

Chacun des quatre DataFrames est affiché dans un sous-tracé.

Notez que nous avons utilisé l’argument axes pour spécifier où chaque DataFrame doit être placé.

Par exemple, le DataFrame appelé df1 a été placé dans la position avec une valeur d’index de ligne de 0 et une valeur d’index de colonne de 0 (par exemple le sous-tracé dans le coin supérieur gauche).

Notez également que vous pouvez modifier la disposition des sous-tracés en utilisant les arguments nrows et ncols .

Par exemple, le code suivant montre comment organiser les sous-tracés en quatre lignes et une colonne :

import matplotlib.pyplot as plt

#define subplot layout
fig, axes = plt.subplots(nrows=4, ncols=1)

#add DataFrames to subplots
df1.plot(ax=axes[0])
df2.plot(ax=axes[1])
df3.plot(ax=axes[2])
df4.plot(ax=axes[3])

Les sous-parcelles sont désormais disposées selon une disposition comportant quatre lignes et une colonne.

Notez que si vous souhaitez que les sous-tracés aient les mêmes échelles sur les axes y et x, vous pouvez utiliser les arguments sharey et sharex .

Par exemple, le code suivant montre comment utiliser l’argument sharey pour forcer tous les sous-tracés à avoir la même échelle sur l’axe Y :

import matplotlib.pyplot as plt

#define subplot layout, force subplots to have same y-axis scale
fig, axes = plt.subplots(nrows=4, ncols=1, sharey=True)

#add DataFrames to subplots
df1.plot(ax=axes[0])
df2.plot(ax=axes[1])
df3.plot(ax=axes[2])
df4.plot(ax=axes[3])

Notez que l’axe Y de chaque sous-tracé va désormais de 0 à 20.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment créer un diagramme circulaire à partir de Pandas DataFrame
Comment créer un nuage de points à partir du DataFrame Pandas
Comment créer un histogramme à partir de Pandas DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *