1
resposta

Eixos em log

Olá,

como mudo os eixos x e y do grafico para uma escala logaritima faciliatando assim a vizualizacao?

Obrigado

1 resposta

Olá, Marcelo, tudo bem?

Desculpe-nos a demora pelo retorno! Essa pergunta é muito interessante.

Existem algumas formas de utilizar a escala logarítmica pelo R. Vamos apresentar duas formas aqui, uma usando o plot e a outra usando o ggplot.

Usando o plot()


 

Podemos de uma maneira bem simples colocar o eixo x, y ou ambos numa escala logarítmica para que possamos visualizar mais dados e a tendência deles em torno dos eixos. Para tal, precisamos colocar com um dos argumentos o log = "eixo_que_deseja_aplicar_a_escala". Logo:

  • Se quisermos apenas o eixo x, escrevemos log="x";
  • Se quisermos apenas o eixo y, escrevemos log="y";
  • E, se quisermos ambos os eixos, escrevemos = log="xy".

Seguindo os exemplos da Aula 5 - Modelos Preditivos, poderemos aplicar essa escala no plot() da seguinte forma:

# Aplicando a escala logarítmica somente no eixo x
plot(popularidade_e_duracao$dias, popularidade_e_duracao$popularidade, log="x")

Saída:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

 

Usando o ggplot()


 

Com o ggplot() nós também podemos colocar o eixo x, y ou ambos numa escala logarítmica. Nesse caso, adicionaremos as funções scale_x_continuous() e/ou scale_y_continuous()e passaremos como argumento a escala em questão, no nosso casotrans='log10'. Lembrando que é possível passar outras escalas como log2 e sqrt, por exemplo.

Seguindo os exemplos da Aula 5 - Modelos Preditivos, poderemos aplicar essa escala no ggplot() da seguinte forma:

grafico <- ggplot(popularidade_e_duracao, aes(dias, popularidade))
grafico <- grafico + geom_point()
grafico <- grafico + geom_smooth()
# Linha responsável por aplicar a escala no eixo y dos nossos dados
grafico <- grafico + scale_y_continuous(trans='log10')
grafico

Saída:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

 

Para aprender um pouco mais sobre como utilizar essas funcionalidades no R , recomendamos que leia alguns dos links indicados:

Para Saber Mais
How to Change Axis Scales in R Plots (With Examples)
ggplot2 axis scales and transformations
Gráficos no ggplot

Qualquer dúvida é só chamar!

Abraços e bons estudos!