as.POSIXct.numeric(value)中的错误:ggplot中必须提供“ origin”

时间:2018-07-24 13:15:57

标签: r datetime ggplot2

我目前正在分析GSR值的数据集。 我首先必须将unix值转换为可读数据,然后创建随时间变化的GSR值图。

这就是数据集的样子: enter image description here

这是我的代码和图表enter image description here

veranda <- ggplot(gsr_veranda, aes(as.POSIXct(Date, origin = "1970-01-01"), Values)) +
               geom_line() +
               scale_x_datetime(date_labels = "%H:%M:%s") +

我想放大图表并查看尝试这段代码的特定时间:

veranda <- ggplot(gsr_veranda, aes(as.POSIXct(Date, origin = "1970-01-01"), Values)) +
               geom_line() +
               scale_x_datetime(date_labels = "%H:%M:%s") +
               scale_x_continuous(limits = c("11:05:02", "11:05:03"))

但是,我仍然收到此错误: as.POSIXct.numeric(value)中的错误:必须提供'origin'

但是当我将unix转换为可读数据并再次在ggplot代码中转换时,已经提供了原点。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

要解决此问题,您应该在scale_x_datetime()函数中传递您的限制。而且,它们必须为POSIXct格式。以下代码可以做到这一点:

lim <- as.POSIXct(c("2018-05-07 11:05:02", "2018-05-07 11:05:03"),  origin = "1970-01-01")

veranda <- ggplot(gsr_veranda, aes(as.POSIXct(Date, origin = "1970-01-01"), Values)) +
    geom_line() +
    scale_x_datetime(date_labels = "%H:%M:%s",limits=lim)