Skip to content

Remover Eixos no Matplotlib: Um Guia Abrangente

Updated on

O Matplotlib é uma poderosa biblioteca de Python para visualização de dados, mas para criar gráficos realmente eficazes, às vezes é necessário remover certos elementos, como os eixos. Se você tem se perguntado como remover os eixos no Matplotlib, este guia é o ponto de partida perfeito. Vamos explorar como tornar seus gráficos brilhantes removendo elementos desnecessários, seguindo as melhores práticas da própria documentação do Matplotlib e da sabedoria da comunidade.

Primeiros Passos: O Que São Eixos no Matplotlib?

Antes de começarmos, é importante entender o que queremos dizer com 'eixos' no Matplotlib. O termo 'eixos' refere-se aos eixos x e y em um gráfico, incluindo as etiquetas, os marcadores e a linha que contorna a área do gráfico. Ao remover os eixos, você obtém um gráfico limpo e minimalista que se concentra na apresentação dos dados sem distrações adicionais.

Por Que Remover os Eixos?

Existem várias razões pelas quais você pode querer remover os eixos de um gráfico do Matplotlib. Talvez a razão mais comum seja criar uma aparência visual mais limpa e simples. Ao remover os eixos, as linhas de grade e as etiquetas, você pode ajudar os espectadores a concentrarem-se na parte mais crucial da sua visualização: os dados.

Removendo os Eixos: O Básico

Agora, vamos direto ao ponto: como remover os eixos no Matplotlib. O processo é bastante simples, requerendo apenas algumas linhas de código. Considere este exemplo básico:

import matplotlib.pyplot as plt
 
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
 
plt.plot(x, y)
plt.gca().set_axis_off()
plt.show()

Nesse script, usamos a função gca() para obter os eixos atuais e, em seguida, chamamos o método set_axis_off() para desativar os eixos. Após executar esse script, você deve ver um gráfico de linha sem os eixos visíveis.

Removendo os Eixos e Salvando a Figura

E se você quiser salvar sua figura sem os eixos? O Matplotlib fornece um método simples para salvar seus gráficos em um arquivo. Veja como você pode salvar um gráfico sem os eixos:

plt.plot(x, y)
plt.gca().set_axis_off()
plt.savefig('meu_grafico.png', bbox_inches='tight', pad_inches=0)
plt.close()

A função savefig() é usada para salvar a figura atual, e passamos o nome do arquivo 'meu_grafico.png' como argumento. Os parâmetros bbox_inches='tight' e pad_inches=0 removem o excesso de espaçamento ao redor do gráfico na figura salva. Após executar esse script, um novo arquivo chamado 'meu_grafico.png' deve aparecer no diretório atual, contendo seu gráfico salvo sem os eixos.

Avançado: Removendo Eixos de Subplots

Até agora, discutimos como remover os eixos de um único gráfico. Mas e se você tiver vários subplots e quiser remover os eixos de todos eles ou apenas de um específico? Veja como fazer isso:

fig, axs = plt.subplots(2, 2)
 
for ax in axs.flat:
    ax.set_axis_off()
 
plt.savefig('subplot_sem_eixos.png', bbox_inches='tight', pad_inches=0)
plt.close()

Nesse código, criamos uma grade de subplots 2x2 usando a função plt.subplots(), e então iteramos sobre cada subplot (acessado usando axs.flat), removendo os eixos com ax.set_axis_off(). A figura é então salva como antes, criando um arquivo de imagem com vários subplots, cada um sem eixos.

Alternativas à Remoção de Eixos: Ajustando a Aparência dos Eixos

Em alguns casos, você pode querer manter os eixos, mas torná-los menos intrusivos. O Matplotlib oferece muitas opções para personalizar a aparência dos eixos. Aqui está um exemplo de como tornar os eixos menos visíveis, reduzindo a espessura da linha e mudando a cor:

ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_linewidth(0.5)
ax.spines['left'].set_linewidth(0.5)
ax.spines['right'].set_color('none')

Nesse script, primeiro obtemos os eixos atuais com plt.gca(). Em seguida, usamos a propriedade spines para acessar cada um dos quatro lados dos eixos ('top', 'bottom', 'left' e 'right'). Em seguida, chamamos set_color('none') para remover os lados superior e direito dos eixos, e set_linewidth(0.5) para tornar os lados inferior e esquerdo mais finos.

Alternativa ao Matplotlib: Visualizar Dados com o PyGWalker

Além de usar o Matplotlib para visualizar seu dataframe do pandas, aqui está uma alternativa, uma biblioteca de Python de código aberto que pode ajudá-lo a criar visualizações de dados facilmente: PyGWalker (opens in a new tab).

PyGWalker para Visualização de Dados (opens in a new tab)

Não é mais necessário realizar processamentos complicados com codificação Python, basta importar seus dados e arrastar e soltar variáveis para criar todos os tipos de visualizações de dados! Aqui está um vídeo de demonstração rápida sobre a operação:


Veja como usar o PyGWalker em seu Jupyter Notebook:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Alternativamente, você pode experimentá-lo no Kaggle Notebook/Google Colab:

Executar PyGWalker no Kaggle Notebook (opens in a new tab)Executar PyGWalker no Google Colab (opens in a new tab)Dê uma ⭐️ para o PyGWalker no GitHub (opens in a new tab)
Executar PyGWalker no Kaggle Notebook (opens in a new tab)Executar PyGWalker no Google Colab (opens in a new tab)Executar PyGWalker no GitHub (opens in a new tab)

PyGWalker é construído com o apoio da nossa comunidade Open Source. Não se esqueça de conferir o PyGWalker GitHub (opens in a new tab) e nos dar uma estrela!

Conclusão

A remoção dos eixos no Matplotlib pode ajudar a criar visualizações mais limpas e impactantes, concentrando a atenção nos dados. Este guia mostrou como remover os eixos de um único gráfico ou de vários subgráficos, e como ajustar a aparência dos eixos para torná-los menos intrusivos. Com essas técnicas em seu arsenal, você está pronto para criar gráficos minimalistas deslumbrantes com o Matplotlib.

FAQ

P: Existem casos em que não é aconselhável remover os eixos no Matplotlib?

Sim, a remoção dos eixos pode dificultar a interpretação de um gráfico, especialmente quando a escala ou proporções dos dados são importantes. Você deve sempre considerar as necessidades do seu público e a natureza dos seus dados ao decidir se deve remover os eixos.

P: Posso remover os eixos de gráficos criados com o Seaborn, que é baseado no Matplotlib?

Sim, você pode remover os eixos dos gráficos do Seaborn da mesma maneira que nos gráficos do Matplotlib. O Seaborn utiliza o Matplotlib por baixo dos panos, então os mesmos comandos funcionarão.

P: Ainda posso adicionar um título ao meu gráfico depois de remover os eixos?

Sim, a remoção dos eixos não afeta a capacidade de adicionar um título ao seu gráfico. Você pode usar a função plt.title() para adicionar um título a qualquer momento.