【发布时间】:2021-10-27 04:16:44
【问题描述】:
假设我有一个包含多个图例的 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(根据this question)会关闭形状图例。
(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
This question 建议现代(自 ggplot2 v0.9.2 起)控制图例的方法是使用 guides 函数。
我希望能够做类似的事情
p0 + guides(
colour = guide_legend(show = FALSE)
)
但guide_legend 没有显示参数。
如何指定显示哪些图例?
【问题讨论】:
-
在最近的
ggplot2更新之后,show_guide已被弃用并被show.legend取代。