1
resposta

Formatar eixo X

Olá,

Como posso formatar o eixo X da distribuicao de frquencias? Por exemplo mostrar os valores em unidades de milhão, portanto ao invés de ter 2,5 teriamos 25m na extrema direita do eixo x

1 resposta

Olá, Marcelo!

Tudo bem?

Para conseguirmos formatar os eixos X ou Y de nosso gráfico nós podemos utilizar o método set_major_formatter e importar o tickerda biblioteca do matplotlib, responsável por configurar a localização e formatação dos intervalos.

Seguindo o código abaixo, primeiro nós fazemos essa importação e na sequência transformamos nossos dados na formatação desejada, como queremos em milhões dividimos os valores por 1.000.000.

Assim, chamamos o distplot() dos dados tratados em milhões e por fim adicionamos a formatação desejada, onde xaxis dita que a alteração é no eixo X, o set_major_formatter recebe o tipo de formatação que queremos que seria o ticker.StrMethodFormatter("{x:} Mi") que pega os valores do nosso eixo X e aplica a formatação em forma de String onde a variável x é o valor e Mi é a palavra que definimos como milhões.

from matplotlib import ticker
dist_freq_var_y = dados['Valor'] / 1000000
ax = sns.distplot(dist_freq_var_y)
ax.figure.set_size_inches(20, 6)
ax.set_title('Distribuição de Frequências', fontsize=20)
ax.set_xlabel('Preço dos Imóveis (R$)', fontsize=16)
ax.xaxis.set_major_formatter(ticker.StrMethodFormatter("{x:} Mi"))
ax

 

Por fim, aplicando essa alteração o nosso gráfico ficaria nesse formato:

 

Gráfico de distribuição de frequências dos valores dos imóveis do dataset com o eixo X formatado na forma x Mi onde x representa os valores dos imóveis e Mi a ordem de milhões

 

Qualquer dúvida é só chamar!

Abraços e bons estudos!