繁体   English   中英

y 轴上带有“时间”的时间序列图

[英]Time Series plot with "times" in y-axis

假设我有一些事件的完成时间。

completion_data <- data.frame(
    date=c("2009-05-04", "2010-04-07", "2011-04-02", "2011-05-06",
           "2012-06-03", "2012-07-09", "2013-09-03", "2014-02-01"),
    time_taken=c("1:53:01", "1:50:01", "1:30:01", "1:29:01", 
                 "1:28:03", "1:20:01", "1:15:11", "1:12:24"))

library(zoo)
library(chron)
completion_data$date <- as.Date(completion_data$date)
completion_data$time_taken <- chron(times.=completion_data$time_taken)

我想用 x 轴上的日期和 y 轴上的时间创建一个时间序列图。

completion_ts <- zoo(completion_data$time_taken, completion_data$date)
plot(completion_ts, ylab="Time (H:M:S)", xlab="Date", type='o')

在此处输入图片说明

但是,y 轴没有我想要的 H:M:S 格式。 例如,第一个点对应于 1:53:01(即 1 小时 53 分 1 秒)的时间,我希望 y 轴使用这种格式。

  • 我想使用基本图形来做到这一点,即不是 ggplot2(如果可能)
  • 我的一个想法是在绘图后使用axis语句,但不确定是否可以直接绘制times对象(由chron创建)

自己将标签放在 Y 轴上:

plot(completion_ts, ylab = "Time (H:M:S)", xlab = "Date", type = 'o', yaxt = "n")
tt <- seq(times("00:00:00"), times("23:59:59"), times("00:10:00"))
axis(2, tt, sub(":00$", "", times(tt)))

截屏

暂无
暂无

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

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