Cómo crear una escala logarítmica en ggplot2

A menudo, es posible que desee convertir el eje x o la escala del eje y de un gráfico ggplot2 en una escala logarítmica.

Puede usar uno de los siguientes dos métodos para hacerlo usando solo ggplot2:

1. Utilice scale_y_continuous () o scale_x_continuous ()

ggplot (gl, aes (x = x, y = y)) +
  geom_point () +
  scale_y_continuous (trans = ' log10 ') +
  scale_x_continuous (trans = ' log10 ')

2. Utilice coord_trans ()

ggplot (gl, aes (x = x, y = y)) +
  geom_point () +
  coord_trans (y = ' log10 ' , x = ' log10 ')

Si desea formatear las etiquetas de los ejes para mostrar exponentes, puede usar funciones del paquete de escalas :

ggplot (gl, aes (x = x, y = y)) +
  geom_point () +
  scale_y_continuous (trans = ' log10 ',
                     descansos = trans_breaks (' log10 ', función (x) 10 ^ x),
                     etiquetas = trans_format (' log10 ', math_format (10 ^ .x)))

Este tutorial muestra ejemplos de cómo utilizar estas funciones en la práctica.

Ejemplo 1: Escala logarítmica utilizando scale_y_continuous ()

El siguiente código muestra cómo usar la función scale_y_continuous () para crear una escala logarítmica para el eje y de una gráfica de dispersión:

biblioteca (ggplot2)

#create marco de datos
df <- data.frame (x = c (2, 5, 6, 7, 9, 13, 14, 16, 18),
                 y = c (1400, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000))

#crear un diagrama de dispersión con escala logarítmica en el eje y 
ggplot (df, aes (x = x, y = y)) +
  geom_point () +
  scale_y_continuous (trans = ' log10 ')

Escala logarítmica en el eje y de ggplot2

Ejemplo 2: Escala logarítmica con coord_trans ()

El siguiente código muestra cómo usar la función coord_trans () para crear una escala logarítmica para el eje y de una gráfica de dispersión:

biblioteca (ggplot2)

#create marco de datos
df <- data.frame (x = c (2, 5, 6, 7, 9, 13, 14, 16, 18),
                 y = c (1400, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000))

#crear un diagrama de dispersión con escala logarítmica en el eje y 
ggplot (df, aes (x = x, y = y)) +
  geom_point () +
  coord_trans (y = ' log10 ')

Escala logarítmica ggplot2

Ejemplo 3: Etiquetas de escala de registro personalizadas

El siguiente código muestra cómo usar funciones de la función del paquete de escalas para crear una escala logarítmica para el eje y de un diagrama de dispersión y agregar etiquetas personalizadas con exponentes:

biblioteca (ggplot2)
 biblioteca (escalas)

#create marco de datos
df <- data.frame (x = c (2, 5, 6, 7, 9, 13, 14, 16, 18),
                 y = c (1400, 1700, 2300, 2500, 2800, 2900, 3400, 3900, 11000))

# crear un diagrama de dispersión con escala logarítmica en el eje y y etiquetas personalizadas 
ggplot (df, aes (x = x, y = y)) +
  geom_point () +
  scale_y_continuous (trans = ' log10 ',
                     descansos = trans_breaks (' log10 ', función (x) 10 ^ x),
                     etiquetas = trans_format (' log10 ', math_format (10 ^ .x)))

Escala logarítmica con exponentes en ggplot2

Observe que las etiquetas del eje y tienen exponentes, a diferencia de las dos gráficas anteriores.

Recursos adicionales

La guía completa de títulos de ggplot2
Una guía completa de los mejores temas de ggplot2
Cómo crear gráficos en paralelo en ggplot2

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Una distribución de probabilidad nos dice la probabilidad de que una variable aleatoria tome ciertos valores. Por ejemplo, la siguiente…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!