我想在ggplot图表中添加图例,但没有在网上找到类似的答案。
我的图例需要指出垂直线是发生重大事件的日期以及其他颜色所代表的颜色(例如,平滑线是移动平均线)。垂直线不构成数据集的一部分。
代表:
library(data.table)
library(ggplot2)
library(lubridate)
dat <- as.data.table(x=1:10)
dat$V1 <- as.Date(dat$V1,origin = "2000-01-01")
dat$y_a = c(2,3,4,2,4,2,5,5,4,3)
dat$y_b = c(4,5,5,6,4,3,4,5,6,5)
sections <- as.Date(c(3,5,8),origin = "2000-01-01")
ggplot(data=dat)+
geom_line(aes(x=V1,y=y_a),colour="black")+
geom_smooth(aes(x=V1,y=y_a),alpha=0,colour="blue")+
geom_vline(xintercept = sections,linetype="dashed",colour="red")+
geom_vline(xintercept = as.Date(7,origin = "2000-01-01"),colour="darkgreen")+
xlab("Time")+
ylab("Height")
我的示例图在链接中。
无法在其他地方解释这些图形详细信息。
如果您想在图例中添加某些内容,则需要通过进行映射aes()
。这意味着将某些vline
内容移动到data.frame中,以便可以对其进行映射。
ggplot(data=dat)+
geom_line(aes(x=V1,y=y_a), colour="black")+
geom_smooth(aes(x=V1,y=y_a, colour="blue"),alpha=0)+
geom_vline(aes(colour="darkgreen", xintercept = xint), data=data.frame(xint=as.Date(7,origin = "2000-01-01")), key_glyph = "path")+
geom_vline(aes(colour="red", xintercept = xint), linetype="dashed", data=data.frame(xint=sections), key_glyph = "path") +
xlab("Time")+
ylab("Height") +
scale_color_manual(values = c("blue","red","darkgreen"),
breaks = c("blue","red","darkgreen"),
labels = c("Moving","Major","Important"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句