Tengo un marco de datos simple que estoy tratando de hacer un diagrama combinado de líneas y puntos usando ggplot2
. Suponiendo que mis datos se vean así:
df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20),
group=c(rep("a",10),rep("b",10)))
Y estoy tratando de hacer una trama:
g <- ggplot(df, aes(x=x, y=y, group=group))
g <- g + geom_line(aes(colour=group))
g <- g + geom_point(aes(colour=group, alpha = .8))
g
El resultado se ve bien con una excepción. Tiene una leyenda adicional que muestra la capa alpha
para mi geom_point
.
¿Cómo puedo mantener la leyenda que muestra los colores del grupo, pero no la que muestra mi configuración alfa?
g + scale_alpha(guide = "none")
.group
estética no genera escalas ni guías por sí sola. Siempre es como modificar algo más. Nunca obtendrá una leyenda por la estética del "grupo".Simplemente agregue el
show.legend = F
código después de la parte donde no lo desea.g <- ggplot(df, aes(x=x, y=y, group=group)) g <- g + geom_line(aes(colour=group)) g <- g + geom_point(aes(colour=group, alpha = .8), show.legend = F)
fuente
Para versiones antiguas de ggplot2 (versiones anteriores a 0.9.2, lanzadas a finales de 2012), esta respuesta debería funcionar:
Intenté esto con a
colour_scale
y no funcionó. Parece que elcolour_scale_hue
elemento funciona como una función con un parámetro predeterminadoTRUE
. Añadíscale_colour_hue(legend=FALSE)
y funcionó.No estoy seguro de si este es el caso de todos los elementos de escala de color en ggplot
fuente
legend
en unascale_*
llamada está en desuso, es mejor hacerloscale_colour_hue(guide = "none")
.legend=FALSE
está en desuso, como lo señala el comentario de @shujaa, esta es efectivamente una respuesta duplicada, es decir, para agregarguide = "none"
a unascale_fill/color*
función.