R 关闭绘图中的某些图例

R 关闭绘图中的某些图例,r,ggplot2,R,Ggplot2,假设我有一个包含多个传说的情节 mov <- subset(movies, length != "") (p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) + geom_point() ) 但是如果我想关闭颜色图例呢?似乎没有办法告诉show\u guide将其行为应用于哪个图例。而且没有关于音阶或美学的论证 (p3 <- ggplot(mov, aes(year, rating, co

假设我有一个包含多个传说的情节

mov <- subset(movies, length != "")
(p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
  geom_point()
)
但是如果我想关闭颜色图例呢?似乎没有办法告诉
show\u 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
但是
guide\u legend
没有show参数


如何指定显示哪些图例?

您可以在
scale\u…\ u…()
中使用
guide=FALSE
来抑制图例

例如,您应该使用
scale\u color\u continuous()
,因为
length
是连续变量(而不是离散变量)

更新 提供的两种解决方案都适用于新的
ggplot2
2.0.0版,但
movies
dataset不再存在于该库中。相反,您必须使用新软件包
ggplot2movies
来检查这些解决方案

library(ggplot2movies)
data(movies)
mov <- subset(movies, length != "")
库(ggplot2movies)
数据(电影)

mov您可以简单地将
show.legend=FALSE
添加到geom以抑制相应的图例

比例颜色连续(guide=FALSE)在ggplot2 0.9.3中不起作用,但guides(colour=FALSE)解决了问题。非常感谢迪兹@NikolayNenov很奇怪,因为这两种解决方案都适用于ggplot2 0.9.3.1,我想删除alpha的图例<代码>指南(alpha=FALSE)
执行此技巧。谢谢你,迪兹。赛尔夫注意:如果你有一个
geom\u linerange()
并且图例显示的是一个十字而不是一条线,请在
geom\u linerange()
中插入
show.legend=FALSE
。在最近的
ggplot2
更新之后,
show\u guide
已被弃用并替换为
show.legend
(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
p0 + guides(
  colour = guide_legend(show = FALSE) 
)
(p3 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
   scale_colour_continuous(guide = FALSE) +
   geom_point()
)
p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
  geom_point()    
p0+guides(colour=FALSE)
library(ggplot2movies)
data(movies)
mov <- subset(movies, length != "")