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 = FALSEan 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_guidewelche Legende ihr Verhalten angewendet werden soll. Und es gibt kein show_guideArgument 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 guidesFunktion liegt.
Ich möchte in der Lage sein, so etwas zu tun
p0 + guides(
colour = guide_legend(show = FALSE)
)
hat aber guide_legendkein Show-Argument.
Wie gebe ich an, welche Legenden angezeigt werden?
ggplot2Updateshow_guidewurde veraltet und ersetzt durchshow.legend.