如何在ggplot中为垂直线添加图例?

Pet*_*etz 4 r legend ggplot2

我试图显示一个折线图,其中一些垂直线作为特定时间点的指标,并有一个标记这些时间点的图例.

根据ggplot2一书中第6.4.4节的例子,我尝试了以下内容

huron<-data.frame(year=1875:1972,level=LakeHuron)

vertDf<-data.frame(years=c(1900,1925,1950),labels=c("A","B","C"))

pltWithLines<-ggplot(huron, aes (x=year,y=level)) +
                              geom_line() + 
                              geom_vline(aes(xintercept=years,color=labels),data=vertDf) + 
                              scale_color_manual("Sample Year",
                                      values=c("A"="blue","B"="red","C"="green"))
Run Code Online (Sandbox Code Playgroud)

这会生成一个图表,其中垂直线具有正确的颜色,但根本没有图例.

这有什么问题?

jal*_*pic 6

你需要 show_guide

ggplot(huron, aes (x=year,y=level)) +
  geom_line() + 
  geom_vline(aes(xintercept=years, color=labels),data=vertDf, show_guide=T) + 
  scale_color_manual("Sample Year",
                     values=c("A"="blue","B"="red","C"="green"))
Run Code Online (Sandbox Code Playgroud)