我试图显示一个折线图,其中一些垂直线作为特定时间点的指标,并有一个标记这些时间点的图例。
根据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"))
这会生成一个图表,其垂直线的颜色正确,但根本没有图例。
这有什么问题?
答案 0 :(得分: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"))