Posterior a de una prolongada recopilación de datos hemos podido resolver este enigma que pueden tener ciertos los lectores. Te brindamos la respuesta y esperamos serte de gran apoyo.
Solución:
Esto funcionó:
- reducir el tamaño de fuente (width_scale en lugar de width_scale * 1.5)
- añadir un cuadro alrededor de la leyenda
ggplot2::ggplot(mydf, ggplot2::aes(group, value, fill=var)) +
ggplot2::geom_bar(stat="identity") +
ggplot2::scale_y_continuous("%") +
ggplot2::theme_light() +
ggplot2::theme(legend.text=ggplot2::element_text(size=width_scale),
legend.box.margin = margin(6, 6, 6, 6),
legend.title=ggplot2::element_text(size=1.5*width_scale,face="bold"),
legend.position="bottom",
legend.key.size = grid::unit(width_scale/50, "inch"),
legend.key.width = grid::unit(width_scale/50, "inch"))
Puede ajustar width_scale según el número de elementos en la leyenda:
mydf <- data.frame(group=paste0('gr',1:10), var=paste('some long text -', 1:50), value=runif(500, 0, 100))
width_scale <- 12 * 26 / length(unique(mydf$var))
podrías ajustar size
manualmente modificando el valor del tamaño hasta que los gráficos coincidan con sus requisitos?
print(#or ggsave()
ggplot2::ggplot(mydf, ggplot2::aes(group, value, fill=var)) +
ggplot2::geom_bar(stat="identity") +
ggplot2::scale_y_continuous("%") +
ggplot2::theme_light() +
ggplot2::theme(legend.text=ggplot2::element_text(size=14), legend.position = "bottom"),
legend.title=ggplot2::element_text(size=1.5*width_scale,face="bold"),
legend.key.size = grid::unit(width_scale/50, "inch"),
legend.key.width = grid::unit(width_scale/50, "inch"))
)
Calificaciones y reseñas
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)