2019-01-31

Cómo controlar la dispersión de puntos dentro de un diagrama de violín con ggplot2

Problem

Queremos controlar la dispersión de puntos dentro de un diagrama de violín con ggplot2.

library(tidyverse)
p <- ggplot(mpg, aes(class, hwy))
p + geom_violin() + geom_jitter()

Solución

  • Opción 1
  • Ampliamos la anchura del diagrama de violín (width = 1.3), y jugamos con la transparencia y la variación horizontal de geom_ jitter con (width = .02). No es una opción enteramente satisfactoria. Al restringir la variación horizontal de geom_ jitter, limitamos la propia finalidad de la función que es evitar la superposición de puntos.

    p + geom_violin(width = 1.3) + geom_jitter(alpha = 0.2, width = .02)
    
  • Opción 2
  • Empleamos la función geom_quasirandom del paquete geom_beeswarm:

    The quasirandom geom is a convenient means to offset points within categories to reduce overplotting. Uses the vipor package

    library(ggbeeswarm)
    p + geom_violin(width = 1.3) + geom_quasirandom(alpha = 0.2, width = 0.2)
    

Entradas relacionadas

Referencias

No hay comentarios:

Publicar un comentario

Nube de datos