我有一个包含3个变量的data.frame,并希望以POSIXct格式绘制与第三个变量(VWC和Depth)相关的第三个变量(Date)。我还想将POSIXct时间戳添加到图例中。
我的data.frame的结构如下:
> str(paper_profile_data2)
'data.frame': 24 obs. of 3 variables:
$ Date : POSIXct, format: "2017-04-07 06:45:00" "2017-04-07 06:45:00" ...
$ VWC : num 0.267 0.248 0.299 0.263 0.262 0.314 0.242 0.244 0.308 0.166 ...
$ Depth_cm: int 16 36 56 16 36 56 16 36 56 16 ...
我想获得一个像这样的人物: made by Excel
现在我设法在R中获得以下数字: in R
R代码如下:
paper_profile_data2 = read.csv(file= "paper_profile_data_2.csv" , header=TRUE,sep= ";"))
paper_profile_data2$Date<- as.POSIXct(paper_profile_data2$Date,format="%d/%m/%Y %H:%M",tz="UTC")
ggplot(paper_profile_data2)+
geom_point(aes(x=VWC,y=Depth_cm,color=Date))+
geom_line(aes(x=VWC,y=Depth_cm,color=Date))+
labs(x=expression (vwc ~(m^3/m^3)),y = expression ("Depth (m)"),title="") +
scale_y_reverse(limits = c((60),(0)), breaks=c(60,56,36,16,0),expand = c(0, 0))
任何帮助都将受到高度赞赏。 提前谢谢。
劳尔
PD。感谢Roland评论(将日期作为因素)。我之前将Date变量转换为POSIXct,这导致了错误。我让变量Date作为因子,错误消失了。最后我将geom_line更改为geom_path,以便按原始顺序排序不同的点(我的数据按日期和深度排序)。
这里是最终的R代码:
paper_profile_data2 = read.csv(file= "paper_profile_data_2.csv" , header=TRUE,sep= ";"))
ggplot(paper_profile_data2)+
geom_point(aes(x=VWC,y=Depth_cm,color=Date))+
geom_path(aes(x=VWC,y=Depth_cm,color=Date))+
labs(x=expression (vwc ~(m^3/m^3)),y = expression ("Depth (cm)"),title="") +
scale_y_reverse(limits = c((60),(0)), breaks=c(60,56,36,16,0),expand = c(0, 0)) +
labs(x=expression (vwc ~(m^3/m^3)),y = expression ("depth (cm)"),title="")
而且:final result