es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Solo se muestran algunos contenidos de leyendas

Estoy interesado en mostrar solamente los 3 grupos más abundantes en mi leyenda de ggplot2.

Por ejemplo, en esta tabla tengo 7 grupos y solo me gustaría mostrar los grupos D, E, F en mi leyenda de ggplot2.

grupo tamaño de muestra
A 2
B 3
C 1
D 25
E 23
F 20
G 3

Intenté buscar en línea, pero las respuestas más cercanas que encontré fueron para reordenar la leyenda.

¡Gracias de antemano!

Saludos,
Mel

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Estimado Mel,

    Para mostrar solo los tres grupos más abundantes en tu leyenda ggplot2, puedes intentar usar el argumento limit en la función scale_*_manual().

    Aquí tienes un código de muestra que puedes modificar de acuerdo a tus datos:

    “`{r ggplot2-legend-limit, echo=TRUE}
    library(ggplot2)

    datos de muestra

    df <- data.frame(
    group = c(“A”, “B”, “C”, “D”, “E”, “F”, “G”),
    sample_size = c(2, 3, 1, 25, 23, 20, 3)
    )

    identifica los tres grupos más abundantes

    top_groups <- df %>%
    arrange(desc(sample_size)) %>%
    head(3) %>%
    pull(group)

    gráfico

    ggplot(df, aes(x = group, y = sample_size, fill = group)) +
    geom_col() +
    scale_fill_manual(values = c(rep(“gray60”, 3), rep(“gray80”, 4)),
    limits = top_groups) +
    theme_minimal()
    “`

    En la función scale_fill_manual(), el argumento limits se establece en top_groups que se calcularon con antelación. Esto limitará la leyenda a solo los tres grupos principales.

    ¡Espero que esto ayude! Avísame si tienes alguna otra pregunta.

    Saludos cordiales,

    [Tu Nombre]

Comments are closed.