繁体   English   中英

如何在 R 中的 x-plot 日期时间?

[英]How to plot date-hour on x-as in R?

我正在努力绘制 R 中的时间序列。我有定期出院数据。 每 15 分钟记录一次新的观察结果。 所以我的数据是日期和时间戳(小时和分钟)的形式。 我只想 plot 及时更新放电数据。 在 x 轴上,我想要以日和月为单位的时间。 但是当然需要根据日期(日-月-年)和时间(小时和分钟)绘制观察结果。

我发现可以使用 ggplot、strptime、POSIXct、as.DATE 等,但我只见树木不见森林……(我是 R 的新手)

例子:

discharge dateandtime 5,8152616 1/03/2020 0:00 5,6835847 1/03/2020 6:30 5,5535848 1/03/2020 13:00 5,5535789 1/03/2020 19:30 5,6835847 2/03/2020 0:00 5,4250033 2/03/2020 6:30 5,8152616 2/03/2020 13:00 5,6835847 2/03/2020 19:30 5,5535855 3/03/2020 0:00 5,5535855 3/03/2020 6:30 5,6835847 3/03/2020 13:00

到目前为止,我得到了这个:

testdata <-read.table("testdischargedata.txt", header = TRUE, sep = "\t", dec=",") dateandtime <- as.POSIXct(testdata$dateandtime, format= "%d/%m/%Y %H:%M") plot(dateandtime,testdata$discharge, type = "p")

然后这是 plot:第一次 plot 尝试,x 轴提到了写作天数

x-asis 提到了写的日子(所以星期一,星期二等)......

然后,如果我使用此代码进行绘图:

plot(testdata$dateandtime, testdata$discharge, type = "p") axis.POSIXct(1, at=testdata$dateandtime, labels=format(testdata$dateandtime, "%d/%m")

然后我得到了这个 plot:第二次 plot 尝试

所以 x 轴现在更好了,它提到了日期和小时,但我只想要日期和月份。 而且观察结果以一种奇怪的方式绘制。

我该如何改进这段代码? 我究竟做错了什么?

那是你需要的吗? 你实际上非常接近。 我不需要做太多改变。 我注意到您没有将 POSIX 强制转换的结果分配给数据框。 稍后在axis.POSIX中使用testdata$dateandtime时,格式仍然错误。

接下来您要做的是在plot命令中禁止绘制 x 轴。 如果没有,您会得到两组轴标签。 在第二个命令中,您可以按照自己的方式添加轴。

testdata <-read.table("testdischargedata.txt", header = TRUE, sep = "\t", dec=",")
testdata$dateandtime <- as.POSIXct(testdata$dateandtime, format= "%d/%m/%Y %H:%M") 
plot(testdata$dateandtime, testdata$discharge, type = "p", xlab="Day", xaxt = "n")
axis.POSIXct(1, at=testdata$dateandtime, labels=format(testdata$dateandtime, "%d/%m"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM