Ajustando o Alinhamento dos Rótulos de Marcação (Tick Labels) no Matplotlib

Beginner

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

Introdução

Na visualização de dados, os rótulos de marcação (tick labels) desempenham um papel importante na transmissão de informações aos visualizadores. Às vezes, pode ser necessário ajustar o alinhamento dos rótulos de marcação para torná-los mais legíveis ou para evitar sobreposições. Neste laboratório, aprenderemos como usar o Matplotlib para ajustar o alinhamento dos rótulos de marcação.

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 às limitações do 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 Matplotlib e AxisArtist

Primeiramente, precisamos importar o Matplotlib e o AxisArtist, que fornece ferramentas adicionais para criar eixos personalizados.

import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist

Definir uma Função para Configurar os Eixos

Para simplificar o código, podemos definir uma função que recebe um objeto figura e uma posição como entrada, e retorna um objeto eixo com rótulos de marcação (tick labels) personalizados.

def setup_axes(fig, pos):
    ax = fig.add_subplot(pos, axes_class=axisartist.Axes)
    ax.set_yticks([0.2, 0.8], labels=["short", "loooong"])
    ax.set_xticks([0.2, 0.8], labels=[r"$\frac{1}{2}\pi$", r"$\pi$"])
    return ax

Criar uma Figura e Adicionar Subplots

Em seguida, podemos criar um objeto figura e adicionar três subplots usando a função setup_axes.

fig = plt.figure(figsize=(3, 5))
fig.subplots_adjust(left=0.5, hspace=0.7)

ax = setup_axes(fig, 311)
ax.set_ylabel("ha=right")
ax.set_xlabel("va=baseline")

ax = setup_axes(fig, 312)
ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")
ax.set_ylabel("ha=center")
ax.set_xlabel("va=top")

ax = setup_axes(fig, 313)
ax.axis["left"].major_ticklabels.set_ha("left")
ax.axis["bottom"].major_ticklabels.set_va("bottom")
ax.set_ylabel("ha=left")
ax.set_xlabel("va=bottom")

Ajustar o Alinhamento dos Rótulos de Marcação (Tick Label)

Finalmente, podemos usar os métodos set_ha e set_va para ajustar o alinhamento horizontal e vertical dos rótulos de marcação (tick labels).

ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")

Exibir o Gráfico

Para exibir o gráfico, podemos usar o método show.

plt.show()

Resumo

Neste laboratório, aprendemos como usar Matplotlib e AxisArtist para ajustar o alinhamento dos rótulos de marcação (tick labels). Ao personalizar o alinhamento horizontal e vertical dos rótulos de marcação, podemos melhorar a legibilidade e a clareza das nossas visualizações de dados.