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.