为了账号安全,请及时绑定邮箱和手机立即绑定

在ggplot中关闭一些图例

在ggplot中关闭一些图例

开满天机 2019-10-15 14:20:06
假设我有一个不止一个图例的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没有show参数。如何指定显示哪些图例?
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

您可以使用guide=FALSE在scale_..._...()压制传奇。


对于您的示例,应该使用scale_colour_continuous()因为length是连续变量(不是离散变量)。


(p3 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +

   scale_colour_continuous(guide = FALSE) +

   geom_point()

)

或者使用功能,guides()您应该设置FALSE为该元素/你不希望出现的传说,例如审美,fill,shape,colour。


p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +

  geom_point()    

p0+guides(colour=FALSE)

更新

两种提供的解决方案都可以在新ggplot2版本2.0.0中使用,但是movies此库中不再存在数据集。相反,您必须使用新程序包ggplot2movies来检查那些解决方案。


library(ggplot2movies)

data(movies)

mov <- subset(movies, length != "")


查看完整回答
反对 回复 2019-10-15
?
当年话下

TA贡献1890条经验 获得超9个赞

scale_colour_continuous(guide = FALSE)在ggplot2 0.9.3中不起作用,但guides(colour = FALSE)解决了该问题。非常感谢Didzis!

查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 2811 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信