Vous pouvez tracer plusieurs sous-tracés de plusieurs trames de données pandas à l'aide de matplotlib avec une simple astuce consistant à faire une liste de toutes les trames de données. Ensuite, utilisez la boucle for pour tracer des sous-graphiques.
Code de travail:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# dataframe sample data
df1 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df2 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df3 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df4 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df5 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
df6 = pd.DataFrame(np.random.rand(10,2)*100, columns=['A', 'B'])
#define number of rows and columns for subplots
nrow=3
ncol=2
# make a list of all dataframes
df_list = [df1 ,df2, df3, df4, df5, df6]
fig, axes = plt.subplots(nrow, ncol)
# plot counter
count=0
for r in range(nrow):
for c in range(ncol):
df_list[count].plot(ax=axes[r,c])
count=+1

En utilisant ce code, vous pouvez tracer des sous-graphiques dans n'importe quelle configuration. Vous devez simplement définir le nombre de lignes nrowet le nombre de colonnes ncol. En outre, vous devez créer une liste des blocs de données df_listque vous vouliez tracer.
.subplots()renvoie différents systèmes de coordonnées en fonction des dimensions du tableau de sous-graphiques que vous créez. Donc, si vous retournez des sous-graphiques où, par exemple,nrows=2, ncols=1vous devrez indexer les axes commeaxes[0]etaxes[1]. Voir stackoverflow.com/a/21967899/1569221