在ggplot2中,如何使用geom_hline函数显示图例?

时间:2014-08-27 03:05:59

标签: r ggplot2

这是我的代码:

a<-c(1,2,3) b<-c(10, 20,30) data<-data.frame(a=a, b=b) p<-ggplot(data, aes(x=a, y=b))+geom_point()+ geom_hline(yintercept = 7.69, linetype=2, size=1)

如您所见,该线是虚线和机会线,但是图中没有显示图例,因此如何添加标题为“机会线”的图例和其下方的虚线在hline函数或其他任何方法?

1 个答案:

答案 0 :(得分:1)

geom_hline很特别:默认情况下它的show_guide参数为FALSE,与大多数其他geom相反(大概是因为geom_hline经常用于注释... )

在我最初回答问题之前,您没有提供可重现的示例,但这个有点被黑客攻击的示例似乎有效:

library(ggplot2)
 p <- ggplot(mtcars, aes(x = wt, y=mpg)) + geom_point()
p + geom_hline(aes(lty="foo",yintercept=20),show_guide=TRUE)+
   scale_linetype_manual(name="",values=2)

丑陋是因为需要在指南中展示一些东西(图例);只是说geom_hline(yintercept=20,lty=2,show_guide=TRUE)不起作用。不过,可能有更原则的方法来做到这一点。