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"))
Passer show_guide = FALSE
à geom_point
(conformément à cette question ) désactive la légende de la forme.
(p2 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point(show_guide = FALSE)
)
Mais que se passe-t-il si je souhaite désactiver la légende des couleurs à la place? Il ne semble pas y avoir de moyen de dire à show_guide
quelle légende appliquer son comportement. Et il n'y a aucun show_guide
argument pour les échelles ou l'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 guides
fonction.
Je veux pouvoir faire quelque chose comme
p0 + guides(
colour = guide_legend(show = FALSE)
)
mais guide_legend
n'a pas d'argument show.
Comment spécifier les légendes à afficher?
ggplot2
mise à jour,show_guide
a été déprécié et remplacé parshow.legend
.