Redimensionando Eixos com Constrained Layout

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Na visualização de dados, é crucial ter gráficos claros e legíveis. No entanto, a criação de múltiplos subplots pode dificultar a evitação de sobreposições entre objetos de eixos e rótulos. Nesses casos, podemos usar um recurso chamado constrained layout no Matplotlib, que redimensiona automaticamente os subplots para evitar sobreposições entre objetos de eixos e rótulos.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importando as Bibliotecas Necessárias

Começamos importando as bibliotecas necessárias para criar subplots e plotar dados.

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

Definindo um Gráfico de Exemplo

Definimos uma função que cria um gráfico de linha simples com rótulos x e y e um título.

def example_plot(ax):
    ax.plot([1, 2])
    ax.set_xlabel('x-label', fontsize=12)
    ax.set_ylabel('y-label', fontsize=12)
    ax.set_title('Title', fontsize=14)

Criando Subplots Sem Constrained Layout

Criamos uma figura com subplots 2x2 sem usar constrained layout. Isso resulta em rótulos sobrepostos nos eixos.

fig, axs = plt.subplots(nrows=2, ncols=2, layout=None)

for ax in axs.flat:
    example_plot(ax)

Criando Subplots Com Constrained Layout

Criamos os mesmos subplots 2x2, mas desta vez usamos constrained layout. Isso ajusta automaticamente os subplots para evitar sobreposições entre objetos de eixos e rótulos.

fig, axs = plt.subplots(nrows=2, ncols=2, layout='constrained')

for ax in axs.flat:
    example_plot(ax)

Criando Gridspecs Aninhados com Constrained Layout

Criamos um exemplo mais complicado usando gridspecs aninhados com constrained layout. Isso nos permite ter mais controle sobre o layout dos subplots.

fig = plt.figure(layout='constrained')

gs0 = gridspec.GridSpec(1, 2, figure=fig)

gs1 = gridspec.GridSpecFromSubplotSpec(3, 1, subplot_spec=gs0[0])
for n in range(3):
    ax = fig.add_subplot(gs1[n])
    example_plot(ax)


gs2 = gridspec.GridSpecFromSubplotSpec(2, 1, subplot_spec=gs0[1])
for n in range(2):
    ax = fig.add_subplot(gs2[n])
    example_plot(ax)

plt.show()

Resumo

Constrained layout é um recurso útil no Matplotlib que redimensiona automaticamente os subplots para evitar sobreposições entre objetos de eixos e rótulos. É particularmente útil ao criar múltiplos subplots em uma figura. Seguindo os passos descritos neste tutorial, você pode criar gráficos claros e legíveis sem ter que se preocupar com rótulos sobrepostos.

Resumo

Parabéns! Você concluiu o laboratório "Resizing Axes With Constrained Layout". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.