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_guidequelle légende appliquer son comportement. Et il n'y a aucun show_guideargument 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 legendsCette question suggère que la façon moderne (depuis ggplot2 v0.9.2) de contrôler les légendes est avec la guidesfonction.
Je veux pouvoir faire quelque chose comme
p0 + guides(
  colour = guide_legend(show = FALSE) 
)mais guide_legendn'a pas d'argument show.
Comment spécifier les légendes à afficher?
ggplot2mise à jour,show_guidea été déprécié et remplacé parshow.legend.