我正在尝试修正图例,以免.col-lg-*
中的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 = …)
创建的垂直线
我发现了几个寻找解决方案的问题(如下),但它们似乎都可以通过使用不同的es(线型或使用填充的颜色)分隔vline来解决。有没有办法让geom_vline()
保持aes但我的图例看起来不这样?
R - combined geom_vline and geom_smooth in legend
答案 0 :(得分:3)
对于本示例,这似乎可以解决。不确定您的实际数据。
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 package(v0.2.0)于2018-09-09创建。