Припустимо, у мене є ggplot з більш ніж однією легендою.
mov <- subset(movies, length != "")
(p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point()
)
Я можу вимкнути показ усіх таких легенд:
(p1 <- p0 + theme(legend.position = "none"))
Перехід show_guide = FALSEдо geom_point(відповідно до цього питання ) вимикає легенду форми.
(p2 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point(show_guide = FALSE)
)
Але що робити, якщо я хочу вимкнути колірну легенду? Здається, не існує способу розповісти, до show_guideякої легенди застосувати свою поведінку. І show_guideаргументів щодо масштабів чи естетики немає.
(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
Це запитання дозволяє припустити, що сучасний (оскільки ggplot2 v0.9.2) спосіб управління легендами є guidesфункцією.
Я хочу вміти щось подібне робити
p0 + guides(
colour = guide_legend(show = FALSE)
)
але guide_legendне має аргументу показу.
Як визначити, які легенди відображатимуться?
ggplot2оновленняshow_guideзастаріле і замінено наshow.legend.