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()
get_xaxis().set_visible()
eget_yaxis().set_visible()
- Por que Evitar
matplotlib.pyplot.axis()
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.