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
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ónscale_*_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 argumentolimits
se establece entop_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]