J’ai un simple ggplot2
données que j’essaie de faire un tracé de lignes et de points combiné en utilisant ggplot2
. En supposant que mes données ressemblent à ceci:
df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20), group=c(rep("a",10),rep("b",10)))
Et j’essaie de faire un complot:
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
Le résultat semble correct avec une exception. Il a une légende supplémentaire montrant l’ alpha
pour ma couche geom_point
.
<img src="http://soffr.miximages.com/r/tCeVym.jpg" alt="Légende supplémentaire pour la transparence de geom_point
“>
Comment conserver la légende indiquant les couleurs de groupe, mais pas celle qui montre mes parameters alpha?
L’esthétique peut être définie ou mappée dans un appel ggplot
.
aes(...)
est mappée à partir des données et une légende est créée. aes()
. Dans ce cas, il semble que vous souhaitiez définir alpha = 0.8
et map colour = group
.
Pour faire ça,
Placez l’ alpha = 0.8
dehors de la définition de aes()
.
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 = 0.8) g
Pour toute variable mappée , vous pouvez supprimer l'apparence d'une légende en utilisant guide = 'none'
dans l'appel à l' scale_...
appropriée scale_...
par exemple.
g2 <- ggplot(df, aes(x = x, y = y, group = group)) + geom_line(aes(colour = group)) + geom_point(aes(colour = group, alpha = 0.8)) g2 + scale_alpha(guide = 'none')
Qui retournera une plot identique
Le commentaire de EDIT @ Joran est parfait, ma réponse est plus complète
Ajoutez simplement le code show.legend = F
après la partie où vous ne le voulez pas.
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)
Pour les anciennes versions de ggplot2 (versions antérieures à 0.9.2, publiées fin 2012), cette réponse devrait fonctionner:
J’ai essayé ceci avec une colour_scale
et cela n’a pas fonctionné. Il semble que l’élément colour_scale_hue
fonctionne comme une fonction avec un paramètre par défaut TRUE
. J’ai ajouté scale_colour_hue(legend=FALSE)
et ça a fonctionné.
Je ne suis pas sûr que ce soit le cas pour tous les éléments d’échelle de couleur dans ggplot