Pandas: como plotar vários dataframes em subparcelas
Você pode usar a seguinte sintaxe básica para plotar vários DataFrames do pandas em subtramas:
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])
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: plotando vários DataFrames Pandas em subparcelas
Digamos que temos quatro DataFrames panda que contêm informações sobre vendas e devoluções em quatro lojas de varejo diferentes:
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]})
Podemos usar a seguinte sintaxe para plotar cada um desses DataFrames em uma subtrama com um layout de 2 linhas e 2 colunas:
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])
Cada um dos quatro DataFrames é exibido em uma subtrama.
Observe que usamos o argumento axes para especificar onde cada DataFrame deve ser colocado.
Por exemplo, o DataFrame chamado df1 foi colocado na posição com um valor de índice de linha 0 e um valor de índice de coluna 0 (por exemplo, o subplot no canto superior esquerdo).
Observe também que você pode alterar o layout das subtramas usando os argumentos nrows e ncols .
Por exemplo, o código a seguir mostra como organizar subtramas em quatro linhas e uma coluna:
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])
As subparcelas agora estão organizadas em um layout com quatro linhas e uma coluna.
Observe que se você deseja que as subparcelas tenham as mesmas escalas nos eixos y e x, você pode usar os argumentos sharey e sharex .
Por exemplo, o código a seguir mostra como usar o argumento sharey para forçar todas as subtramas a terem a mesma escala no eixo 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])
Observe que o eixo Y de cada subtrama agora varia de 0 a 20.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:
Como criar um gráfico de pizza a partir do Pandas DataFrame
Como criar uma nuvem de pontos a partir do Pandas DataFrame
Como criar um histograma a partir do Pandas DataFrame