删除ggplot2中的多余图例

野鸭

我有一个简单的数据框,正在尝试使用进行组合的线和点图ggplot2假设我的数据如下所示:

df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20), 
                 group=c(rep("a",10),rep("b",10)))

我正在尝试绘制一个图:

g <- ggplot(df, aes(x=x, y=y, group=group))
g <- g + geom_line(aes(colour=group))
g <- g + geom_point(aes(colour=group, alpha = .8))
g

结果看起来不错,只有一个例外。它有一个额外的图例,显示了alpha我的geom_point图层。

<code> geom_point </ code>透明度的额外图例

如何使图例显示组颜色,而不显示图例设置?

内尔

可以通话中设置映射美学ggplot

  • 内限定的审美aes(...)映射从所述数据,和一个图例创建。
  • 通过在外部定义美学,也可以将其设置为单个值aes()

在这种情况下,您似乎想要设置 alpha = 0.8映射 colour = group

去做这个,

定义放在alpha = 0.8外面aes()

g <- ggplot(df, aes(x = x, y = y, group = group))
g <- g + geom_line(aes(colour = group))
g <- g + geom_point(aes(colour = group), alpha = 0.8)
g

在此处输入图片说明

对于任何映射的变量,可以通过guide = 'none'在适当的scale_...调用中使用来限制图例的外观例如。

g2 <- ggplot(df, aes(x = x, y = y, group = group)) + 
        geom_line(aes(colour = group)) +
        geom_point(aes(colour = group, alpha = 0.8))
g2 + scale_alpha(guide = 'none')

这将返回相同的情节

编辑@Joran的评论很现场,我的回答更全面了

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章