Data Visualization

Dominando o Controle de Eixos de Subplots no Matplotlib

Spread the love

O Matplotlib oferece diversas maneiras de controlar a visibilidade dos eixos em subplots, permitindo visualizações mais limpas e focadas. Este artigo explora os métodos mais eficazes, comparando seus pontos fortes e demonstrando seu uso.

Sumário

matplotlib.axes.Axes.set_axis_off()

O método set_axis_off() fornece a maneira mais limpa e direta de remover completamente os eixos x e y de um subplot. Ele opera diretamente em um objeto Axes individual, garantindo controle preciso sem afetar outras partes da sua figura.


import matplotlib.pyplot as plt

fig, axes = plt.subplots(2, 2)

# Desativa os eixos do subplot superior esquerdo
axes[0, 0].set_axis_off()

# ... código de plotagem para outros subplots ...

plt.show()

get_xaxis().set_visible() e get_yaxis().set_visible()

Para um controle mais refinado, você pode gerenciar independentemente a visibilidade dos eixos x e y usando get_xaxis().set_visible() e get_yaxis().set_visible(). Isso é particularmente útil quando você deseja remover apenas um eixo enquanto mantém o outro.


import matplotlib.pyplot as plt

fig, axes = plt.subplots(2, 2)

# Desativa apenas o eixo x do subplot superior direito
axes[0, 1].get_xaxis().set_visible(False)

# Desativa apenas o eixo y do subplot inferior esquerdo
axes[1, 0].get_yaxis().set_visible(False)

# ... código de plotagem para outros subplots ...

plt.show()

Por que Evitar matplotlib.pyplot.axis()

Embora matplotlib.pyplot.axis() possa manipular as propriedades dos eixos, ele opera no nível da figura. Usá-lo para desativar eixos em subplots pode levar a consequências imprevistas, afetando todos os subplots simultaneamente. Para controle direcionado dentro de subplots, é melhor utilizar os métodos de nível de eixo descritos acima.

Em resumo, set_axis_off() oferece a abordagem mais simples para remoção completa do eixo, enquanto get_xaxis().set_visible() e get_yaxis().set_visible() fornecem controle granular sobre a visibilidade do eixo individual. Evite usar matplotlib.pyplot.axis() para esta tarefa específica.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *