提问人:Richie Cotton 提问时间:1/30/2013 最后编辑:CommunityRichie Cotton 更新时间:2/8/2022 访问量:251787
关闭 ggplot 中的一些图例
Turning off some legends in a ggplot
问:
假设我有一个带有多个图例的 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
如何指定显示哪些图例?
答:
389赞
Didzis Elferts
1/30/2013
#1
您可以使用 in 来隐藏图例。guide = "none"
scale_..._...()
对于您的示例,您应该使用 because 是连续变量(不是离散变量)。scale_colour_continuous()
length
(p3 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
scale_colour_continuous(guide = "none") +
geom_point()
)
或者使用您应该为不想显示为图例的元素/美学设置的功能,例如,、、。guides()
"none"
fill
shape
colour
p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point()
p0+guides(colour = "none")
更新
提供的两种解决方案都可以在新版本 3.3.5 中使用,但此库中不再存在数据集。相反,您必须使用新包来检查这些解决方案。ggplot2
movies
ggplot2movies
library(ggplot2movies)
data(movies)
mov <- subset(movies, length != "")
评论
9赞
Nikolay Nenov
5/29/2013
scale_colour_continuous(guide = FALSE) 在 ggplot2 0.9.3 中不起作用,但 guides(colour=FALSE) 解决了这个问题。非常感谢Didzis!
1赞
Didzis Elferts
5/29/2013
@NikolayNenov奇怪,因为这两种解决方案都适用于我 ggplot2 0.9.3.1
13赞
l0o0
4/28/2016
我想删除阿尔法的传说。 做这个伎俩。谢谢你,Didzis。guides(alpha=FALSE)
3赞
PatrickT
9/30/2017
自我注意:如果您有一个,并且图例显示的是十字而不是线,请在 .geom_linerange()
show.legend=FALSE
geom_linerange()
4赞
user
7/14/2021
建议的更新:已弃用,并已替换为 。guide = FALSE
guide = "none"
74赞
fc9.30
9/4/2018
#2
您可以简单地添加到几何图形中以隐含相应的图例show.legend=FALSE
评论
0赞
SmallChess
9/8/2021
效果很好!
0赞
asalimih
10/30/2021
正是我所寻找的
0赞
ashah
5/18/2023
这应该有自己的线索。谢谢伙计。
评论
ggplot2
show_guide
show.legend