r - tamaño - legend position ggplot2
¿Cómo puedo eliminar el título de la leyenda en ggplot2? (5)
Tengo una pregunta sobre la leyenda en ggplot2.
Supongamos que tengo un conjunto de datos hipotéticos sobre la longitud media de la zanahoria para dos colores diferentes en dos granjas:
carrots<-NULL
carrots$Farm<-rep(c("X","Y"),2)
carrots$Type<-rep(c("Orange","Purple"),each=2)
carrots$MeanLength<-c(10,6,4,2)
carrots<-data.frame(carrots)
Hago un diagrama de barras simple:
require(ggplot2)
p<-ggplot(carrots,aes(y=MeanLength,x=Farm,fill=Type)) +
geom_bar(position="dodge") +
opts(legend.position="top")
p
Mi pregunta es: ¿hay alguna manera de eliminar el título (''Tipo'') de la leyenda?
¡Gracias!
Descubrí que la mejor opción es usar + theme(legend.title = element_blank())
como notó el usuario "gkcn".
Para mí (el 26/03/15) utilizando los labs(fill="")
sugeridos anteriormente labs(fill="")
y scale_fill_discrete("")
elimine un título, solo para agregar otra leyenda, que no es útil.
La única forma que funcionó para mí fue usar legend.title = theme_blank()
y creo que es la variante más conveniente en comparación con los labs(fill="")
y scale_fill_discrete("")
, que también podría ser útil en algunos casos.
ggplot(carrots,aes(y=MeanLength,x=Farm,fill=Type)) +
geom_bar(position="dodge") +
opts(
legend.position="top",
legend.direction="horizontal",
legend.title = theme_blank()
)
PD: hay más opciones útiles en la documentation .
Puede modificar el título de la leyenda pasándolo como el primer parámetro de una escala. Por ejemplo:
ggplot(carrots, aes(y=MeanLength, x=Farm, fill=Type)) +
geom_bar(position="dodge") +
theme(legend.position="top", legend.direction="horizontal") +
scale_fill_discrete("")
También hay un atajo para esto, es decir, labs(fill="")
Como su leyenda está en la parte superior del gráfico, también puede modificar la orientación de la leyenda. Puedes hacer esto usando opts(legend.direction="horizontal")
.
Puedes usar labs
:
p + labs(fill="")
Ya tienes dos buenas opciones, así que aquí hay otra usando scale_fill_manual()
. Tenga en cuenta que esto también le permite especificar los colores de las barras fácilmente:
ggplot(carrots,aes(y=MeanLength,x=Farm,fill=Type)) +
geom_bar(position="dodge") +
opts(legend.position="top") +
scale_fill_manual(name = "", values = c("Orange" = "orange", "Purple" = "purple"))
Si está utilizando la versión actualizada (A partir de enero de 2015) de ggplot2 (versión 1.0), entonces lo siguiente debería funcionar:
ggplot(carrots, aes(y = MeanLength, x = Farm, fill = Type)) +
geom_bar(stat = "identity", position = "dodge") +
theme(legend.position="top") +
scale_fill_manual(name = "", values = c("Orange" = "orange", "Purple" = "purple"))