manually legends guides ggplot custom change r ggplot2

r - legends - ggplot2: ajusta el tamaño del símbolo en leyendas



guides ggplot2 (3)

Deberías usar:

theme(legend.key.size = unit(3,"line"))

¿Cómo debo cambiar el tamaño de los símbolos en las leyendas? Revisé el documento del theme pero no encontré respuesta.

Aquí hay un ejemplo:

library(ggplot2);library(grid) set.seed(1000) x <- 1:6 mu <- sin(x) observed <- mu + rnorm(length(x), 0, 0.5*sd(mu)) data <- data.frame( t=rep(x, 2), value=c(mu, observed) - min(mu, observed) + 0.5, class = rep(c("mu", "observed"), each=length(x))) mu <- data$value[1:length(x)] observed <- data$value[1:length(x) + length(x)] mu.min <- mu - 3 * 0.5 * sd(mu) mu.max <- mu + 3 * 0.5 * sd(mu) g <- ggplot(data=data) g <- g + geom_point(aes(x=value, y=t, shape=class, size=24)) + scale_size(guide="none") g <- g + scale_shape(name="", labels=expression(paste(S[u](t), ", the observation at time ", t), paste(mu[u](t), ", the mean of ", tilde(S)[u](t), " "))) stat_function.color <- gray(0.5) g <- g + geom_segment(aes(y=1:6, yend=1:6, x=mu.min, xend=mu.max, linetype="2", alpha = 1), color=stat_function.color) + scale_alpha(guide="none") + scale_linetype(name= "", labels=expression(paste("probability density function (pdf) of ", tilde(S)[u], " at time ", t))) for(i in 1:length(x)) { g <- g + stat_function(fun=function(x, i) { ifelse( x <= mu.max[i] & x >= mu.min[i], dnorm(x, mu[i], sd(mu)) + i, NA) }, color=stat_function.color, args=list(i=i)) } background.color <- gray(0.75) g <- g + theme( axis.text=element_blank(), title=element_text(size=rel(1.5)), legend.text=element_text(size=rel(1.5)), legend.position="top", legend.direction="vertical", # legend.key.size = unit(2, "cm"), panel.background=element_rect(fill=background.color), panel.grid.major=element_line(color=background.color), panel.grid.minor=element_line(color=background.color) ) + coord_flip() plot(g)


La respuesta de Marius no funcionó para mí a partir de la versión R 3.2.2. Aún puede llamar a guide_legend() con el mismo argumento override.eas pero deberá especificar el color lugar de la shape en la función contenedora.

Entonces, si está ejecutando una versión posterior de R, intente esto en su lugar:

g + guides(color = guide_legend(override.aes = list(size=5)))


Puede realizar estos tipos de cambios manualmente usando el argumento override.aes para guide_legend() :

g <- g + guides(shape = guide_legend(override.aes = list(size = 5))) print(g)