繁体   English   中英

删除ggplot中geom_vline引起的图例中的垂直线

[英]Remove vertical line in legend caused by geom_vline in ggplot

我正在尝试修复一个图例,以便geom_vline中的ggplot不会引起交叉。 我知道我的例子作为情节没有多大意义,但只是想要一个快速可复制的例子。

library(ggplot2)
ggplot(diamonds)+
  geom_point(aes(x = carat, y = depth, colour = "depth"), pch = 4)+
  geom_line(aes(x = carat, y = table, colour = "table"))+
  geom_vline(aes(xintercept = 2, colour = "x = 2"))+
  guides(colour = guide_legend(override.aes = list(linetype=c(0,1,1), shape=c(4,NA,NA))))

我知道我可以使用guide_legend(override.aes = …)来解决我的问题,点和线都出现在每个图例项上,但这似乎无法删除由geom_vline()创建的垂直线

我发现了几个寻找解决方案的问题(如下),但它们似乎都通过使用不同的 aes(线型或使用填充的颜色)分离 vline 来解决它。 有没有办法可以保持colour aes 但不让我的图例看起来像这样?

R - 组合 geom_vline 和 geom_smooth 在图例中

图例显示带有 geom_vline 的意外黑线

在此处输入图片说明

这似乎适用于这个例子。 不确定您的实际数据。

library(ggplot2)
ggplot(diamonds)+
  geom_point(aes(x = carat, y = depth, colour = "depth"), pch = 4)+
  geom_line(aes(x = carat, y = table, colour = "table"))+
  geom_vline(aes(xintercept = 2, colour = "x = 2"), show.legend = F)+
  guides(colour = guide_legend(override.aes = list(linetype=c(0,1,1), shape=c(4,NA,NA))))

reprex 包(v0.2.0) 于 2018 年 9 月 9 日创建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM