Subgráficos e layouts
Combine vários gráficos
Subgráficos e layouts é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.
Por que usar vários gráficos
Muitas vezes, um único gráfico não é suficiente. Talvez você queira comparar várias perspectivas lado a lado ou dividir um gráfico carregado em painéis menores. O Matplotlib chama isso de organizar vários eixos dentro de uma única figura.
A principal ferramenta é plt.subplots(rows, cols).
Uma grade de eixos
fig, axes = plt.subplots(2, 3) cria uma figura com uma grade de 2 por 3, fornecendo seis eixos. O resultado axes é uma matriz bidimensional que você acessa como axes[0][1].
A quantidade total de painéis é simplesmente o número de linhas vezes o número de colunas.
rows, cols = 2, 3
total = rows * cols
print('Grid', rows, 'x', cols, '=', total, 'axes')
for r in range(rows):
for c in range(cols):
print('panel at', (r, c))Indexando a matriz de eixos
Com uma única linha, axes é unidimensional: utilize axes[0] e axes[1]. Com uma grade completa, ele é bidimensional: axes[row][col].
Para um único gráfico secundário, não é necessário fazer nenhuma indexação.
Percorrendo os painéis
Um padrão limpo consiste em transformar a grade em uma sequência e percorrê-la em um laço, associando cada eixo aos seus dados. Isso evita repetir código quase idêntico para cada painel.
datasets = ['A', 'B', 'C', 'D']
# imagine axes flattened to a list of 4
for i, name in enumerate(datasets):
print('Plot dataset', name, 'on flat axes index', i)Eixos compartilhados
Quando os painéis compartilham uma escala, informe sharex=True ou sharey=True. Assim, os gráficos secundários utilizam um único intervalo comum, o que torna as comparações justas e elimina rótulos de escala redundantes.
Isso é ideal para séries temporais empilhadas.
Tamanho da figura para grades
Uma grade precisa de mais espaço que um único gráfico. Defina figsize=(width, height) em polegadas ao chamar subgráficos. Uma regra prática é aumentar o tamanho de acordo com a quantidade de colunas e linhas.
cols, rows = 3, 2
per_panel_w, per_panel_h = 3, 2.5
print('Suggested figsize:', (cols * per_panel_w, rows * per_panel_h))Espaçamento entre painéis
Os painéis podem ficar apertados uns contra os outros. fig.tight_layout() resolve a maioria dos casos automaticamente. Para um controle mais preciso, utilize fig.subplots_adjust(wspace=0.4, hspace=0.4) para definir os intervalos horizontal e vertical.
Valores maiores significam mais espaço entre os gráficos secundários.
Layouts irregulares com GridSpec
Nem todo layout é uma grade uniforme. GridSpec permite que um eixo se estenda por várias linhas ou colunas, por exemplo, com um gráfico largo na parte superior e dois menores abaixo.
Você define a grade e depois a fatia como faria com uma matriz para posicionar cada eixo.
Planejando extensões
Pense nas fatias de GridSpec como intervalos. Um gráfico superior que se estende por todas as colunas é gs[0, :]; um gráfico inferior esquerdo é gs[1, 0]. Planejar as fatias no papel primeiro evita confusão.
layout = {
'header': '[0, :] (full width)',
'left': '[1, 0] (bottom left)',
'right': '[1, 1] (bottom right)',
}
for name, slot in layout.items():
print(name.ljust(7), slot)Uma figura, uma história
Uma figura com vários painéis ainda deve contar uma única história coerente. Utilize um fig.suptitle() compartilhado, cores consistentes e escalas compartilhadas para que os painéis sejam vistos como uma unidade, e não como uma colagem aleatória.
Personalização por painel
Como cada célula é seu próprio eixo, você pode personalizá-los de forma independente. axes[0][0].set_title('Sales') define o título apenas do painel superior esquerdo, enquanto axes[1][1].set_ylabel('Cost') rotula apenas o painel inferior direito.
Essa independência é exatamente o motivo pelo qual o estilo orientado a objetos se destaca ao trabalhar com grades.
Verificação rápida
Teste seu domínio dos layouts com vários painéis.
Recapitulação
Agora você consegue combinar gráficos:
plt.subplots(rows, cols)cria uma grade de eixos- Indexe com
axes[row][col]ou transforme em sequência e percorra em um laço sharex/shareyalinham as escalas;figsizedefine o tamanho da gradetight_layoutesubplots_adjustgerenciam o espaçamentoGridSpecpermite criar painéis que se estendem por várias células
Perguntas Frequentes
A aula “Subgráficos e layouts” é grátis?
Sim — o texto completo de “Subgráficos e layouts” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.
O que vou aprender em “Subgráficos e layouts”?
Combine vários gráficos Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Python Academy?
Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Subgráficos e layouts”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Python Academy?
Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Figuras e eixos
- Gráficos de linhas, barras e dispersão
- Personalização de gráficos
- Subgráficos e layouts