Angenommen, ich habe einen ggplot mit mehr als einer Legende.
mov <- subset(movies, length != "")
(p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point()
)
Ich kann die Anzeige aller Legenden wie folgt ausschalten:
(p1 <- p0 + theme(legend.position = "none"))
Durch Übergeben show_guide = FALSE
an geom_point
(gemäß dieser Frage ) wird die Formlegende deaktiviert.
(p2 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point(show_guide = FALSE)
)
Aber was ist, wenn ich stattdessen die Farblegende deaktivieren möchte? Es scheint keine Möglichkeit zu geben, zu sagen, auf show_guide
welche Legende ihr Verhalten angewendet werden soll. Und es gibt kein show_guide
Argument für Skalen oder Ästhetik.
(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
Diese Frage legt nahe, dass die moderne (seit ggplot2 v0.9.2) Methode zur Steuerung von Legenden in der guides
Funktion liegt.
Ich möchte in der Lage sein, so etwas zu tun
p0 + guides(
colour = guide_legend(show = FALSE)
)
hat aber guide_legend
kein Show-Argument.
Wie gebe ich an, welche Legenden angezeigt werden?
ggplot2
Updateshow_guide
wurde veraltet und ersetzt durchshow.legend
.