Você pode plotar várias subparcelas de vários quadros de dados do pandas usando o matplotlib com um truque simples de fazer uma lista de todos os quadros de dados. Em seguida, use o loop for para plotar subtramas.
Código de trabalho:
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
Usando esse código, você pode plotar subtramas em qualquer configuração. Você precisa apenas definir o número de linhas nrow
e o número de colunas ncol
. Além disso, você precisa fazer uma lista dos quadros de dados df_list
que deseja plotar.
.subplots()
retorna diferentes sistemas de coordenadas, dependendo das dimensões da matriz de subtramas que você está criando. Portanto, se você retornar subtramas onde, digamos,nrows=2, ncols=1
precisará indexar os eixos comoaxes[0]
eaxes[1]
. Veja stackoverflow.com/a/21967899/1569221