Matplotlib: Espaço para o Rótulo Y

Beginner

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

Introdução

Matplotlib é uma biblioteca de visualização de dados em Python que oferece uma variedade de ferramentas e técnicas para criar gráficos visualmente atraentes. Às vezes, é necessário criar espaço para o rótulo do eixo y para evitar sobreposição ou truncamento do texto. Este laboratório mostrará como usar o módulo axes_grid para criar espaço para o rótulo do eixo y em Matplotlib.

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ê.

Importar Bibliotecas e Criar uma Figura

O primeiro passo é importar as bibliotecas necessárias e criar uma figura. Usamos o módulo matplotlib.pyplot para criar uma figura e o módulo mpl_toolkits.axes_grid1 para criar espaço para o rótulo do eixo y.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
from mpl_toolkits.axes_grid1.axes_divider import make_axes_area_auto_adjustable

fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1])

Definir Y-Ticks e Rótulos

Nesta etapa, definimos os y-ticks e os rótulos para o eixo y. Usamos o método set_yticks para definir a localização do y-tick e o parâmetro labels para definir o rótulo para o y-tick.

ax.set_yticks([0.5], labels=["very long label"])

Criar Espaço para o Rótulo do Eixo Y

Agora, usamos o método make_axes_area_auto_adjustable para criar espaço para o rótulo do eixo y. Este método ajusta automaticamente o tamanho dos eixos para acomodar o rótulo do eixo y.

make_axes_area_auto_adjustable(ax)

Criar uma Figura com Dois Eixos

Nesta etapa, criamos uma figura com dois eixos. Usamos o método add_axes para adicionar dois eixos à figura. Também definimos o rótulo do y-tick para o primeiro eixo e o título para o segundo eixo.

fig = plt.figure()
ax1 = fig.add_axes([0, 0, 1, 0.5])
ax2 = fig.add_axes([0, 0.5, 1, 0.5])

ax1.set_yticks([0.5], labels=["very long label"])
ax1.set_ylabel("Y label")

ax2.set_title("Title")

Criar Espaço para o Rótulo do Eixo Y e Ajustar os Eixos

Nesta etapa, usamos o método make_axes_area_auto_adjustable para criar espaço para o rótulo do eixo y em ambos os eixos. Também usamos o parâmetro use_axes para especificar os eixos a serem ajustados e o parâmetro pad para ajustar o espaçamento entre os eixos.

make_axes_area_auto_adjustable(ax1, pad=0.1, use_axes=[ax1, ax2])
make_axes_area_auto_adjustable(ax2, pad=0.1, use_axes=[ax1, ax2])

Criar uma Figura com Dois Eixos Ajustáveis

Nesta etapa, criamos uma figura com dois eixos ajustáveis. Usamos o método make_axes_locatable para criar um divisor que permite que os eixos sejam ajustados. Adicionamos um novo eixo à direita do primeiro eixo usando o método append_axes.

fig = plt.figure()
ax1 = fig.add_axes([0, 0, 1, 1])
divider = make_axes_locatable(ax1)
ax2 = divider.append_axes("right", "100%", pad=0.3, sharey=ax1)
fig.add_axes(ax2)

Ajustar os Eixos e Criar Espaço para o Rótulo do Eixo Y

Nesta etapa, usamos o método add_auto_adjustable_area para ajustar os eixos e criar espaço para o rótulo do eixo y. Também definimos o título e o rótulo do eixo x para o segundo eixo.

divider.add_auto_adjustable_area(use_axes=[ax1], pad=0.1,
                                 adjust_dirs=["left"])
divider.add_auto_adjustable_area(use_axes=[ax2], pad=0.1,
                                 adjust_dirs=["right"])
divider.add_auto_adjustable_area(use_axes=[ax1, ax2], pad=0.1,
                                 adjust_dirs=["top", "bottom"])

ax1.set_yticks([0.5], labels=["very long label"])
ax2.set_title("Title")
ax2.set_xlabel("X - Label")

Resumo

Este laboratório mostrou como usar o módulo axes_grid em Matplotlib para criar espaço para o rótulo do eixo y. Usamos diferentes métodos para ajustar o tamanho dos eixos e criar espaço para o rótulo do eixo y em diferentes cenários. Seguindo estas etapas, você pode criar gráficos visualmente atraentes que são fáceis de ler e entender.