我有一个包含三种不同图例的图表:一个用于linetype
,一个用于color
,以及一个用于fill
。在color
和fill
的图例中,还有一些线条是我希望删除的,但是该如何实现呢?
以下是一些示例代码:
# some data
hline_df <- data.frame(name = c('a', 'b'), y = c(1, 2))
df <- data.frame(x = c(1, 2), y = c(0.5, 1.5), con = c('a', 'b'), col = c('d', 'e'))
# the plot
ggplot(df, aes(x, y, fill = con)) +
geom_bar(stat = 'identity') +
geom_point(aes(color = col)) +
geom_hline(data = hline_df, aes(yintercept = y, linetype = name),
color = 'red', show_guide = TRUE)
我已经明白了红线的“name”指南,这很好。
“col”指南有红线穿过点,我想把它们去掉!
“con”指南也有应该去除的红线。
我可以使用
guides(fill = guide_legend(override.aes = list(colour = NULL)),
color = guide_legend(override.aes = list(colour = NULL)))
这会去除颜色,但线条仍然存在。
提前表示感谢!
ggplot(df, aes(x,y,fill=con)) + geom_hline(data=hline_df,aes(yintercept=y,linetype=name), color='red',show_guide=TRUE) + geom_point(aes(color=col)) + geom_bar(stat='identity') + geom_hline(data=hline_df,aes(yintercept=y,linetype=name), color='red',show_guide=F)
似乎对于con
有效,但红线仍在col
中。老实说,我不明白为什么它能工作 :-) - drmariodlinetype=NULL
设置为无效,但结果并不如预期。同时,在后台和前台绘制水平线的技巧非常棒!你想发表一个答案,这样我就可以标记它为已解决了吗? - drmariod