Supposons que j'ai un ggplot avec plus d'une légende.
mov <- subset(movies, length != "")
(p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point()
)
Je peux désactiver l'affichage de toutes les légendes comme ceci :
(p1 <- p0 + theme(legend.position = "none"))
Passage show_guide = FALSE
a geom_point
(conformément à la cette question ) désactive la légende des formes.
(p2 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point(show_guide = FALSE)
)
Mais que se passe-t-il si je veux désactiver la légende des couleurs ? Il ne semble pas y avoir de moyen de le faire. show_guide
la légende à laquelle appliquer son comportement. Et il n'y a pas de show_guide
argument d'échelle ou d'esthétique.
(p3 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
scale_colour_discrete(show_guide = FALSE) +
geom_point()
)
# Error in discrete_scale
(p4 <- ggplot(mov, aes(year, rating, shape = mpaa)) +
aes(colour = length, show_guide = FALSE) +
geom_point()
)
#draws both legends
Cette question suggère que la façon moderne (depuis ggplot2 v0.9.2) de contrôler les légendes est avec la fonction guides
fonction.
Je veux pouvoir faire quelque chose comme
p0 + guides(
colour = guide_legend(show = FALSE)
)
mais guide_legend
n'a pas d'argument de démonstration.
Comment puis-je spécifier les légendes à afficher ?
7 votes
Après une récente
ggplot2
mettre à jour,show_guide
a été supprimée et remplacée parshow.legend
.