Cómo crear una escala logarítmica en ggplot2

Puedes opinar sobre este contenido:
  • 0
  • 0
  • 0
  • 0

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/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

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!