1
resposta

Mudar os rótulos dos eixos do pairplot/lmplot/jointplot

Gostaria de saber se há alguma maneira de mudar os rótulos dos eixos quando faço pairplots (ou semelhantes) de múltiplas colunas de um dataset. Obrigado!

1 resposta

Fala Rodrigo! Espero que esteja tudo bem por aí :)

No caso dos Grid Plots (pairplot e semelhantes), não existe uma função específica para mudar o nome dos eixos (labels). Entretanto, existem maneiras de fazer essa mudança.

Vamos usar de exemplo o primeiro pairplot feito no curso:

ax = sns.pairplot(dados)

Quando fazemos assim, geramos o pairplot com os nomes dos eixos iguais aos do nosso DataFrame, certo?

Nessa imagem vemos os 6 últimos gráficos  gerados pela função pairplot, com as respectivas labels iguais aos nomes das variáveis do DataFrame

Para mudarmos os nomes desses eixos, primeiramente podemos criar um dicionário com as labels que desejamos substituir. Para entender, vamos substituir somente as labels dos eixos x:

substituir = {'temp_media': 'Temperatura Média',
'temp_min': 'Temperatura Mínima',
'temp_max': 'Temperatura Máxima',
'chuva': 'Chuva', 
'fds': 'Final de Semana', 
'consumo': 'Consumo'}

Após isso, podemos utilizar um laço para que ele substitua cada um dos nomes dos eixos, que, no nosso caso, são 6:

for i in range (6):
    for j in range (6):
        xlabel = ax.axes[i][j].get_xlabel()
        if xlabel in substituir.keys():
            ax.axes[i][j].set_xlabel(substituir[xlabel])

Utilizamos 2 laços for porque aqui estamos trabalhando com uma “matriz de gráficos”, e como qualquer outra matriz de duas dimensões, é necessário iterar duas vezes para que possamos transitar e acessar os diferentes gráficos.

Seguindo:

xlabel = ax.axes[i][j].get_xlabel()

Nesse momento aqui, ax.axes[i][j].get_xlabel() é responsável por “pegar” o label que se encontra nas coordenadas [i][j] e salvar na variável xlabel.

Após isso:

if xlabel in substituir.keys():
            ax.axes[i][j].set_xlabel(substituir[xlabel])

Esse if verifica se essa label é alguma das chaves do nosso dicionário, e caso seja, ele substitui a label pelo correspondente que colocamos no dicionário!

As labels dos eixos ficarão da seguinte forma:

Nessa imagem vemos os 6 últimos gráficos  gerados pela função pairplot, com as respectivas labels que substituimos

E para substituir as labels dos eixos y, basta seguir o mesmo raciocínio :)

Caso tenha ficado alguma dúvida é só perguntar. Bons Estudos!