将日期变量作为x轴[R]时如何使用geom_rect?

时间:2017-07-18 18:45:00

标签: r date time

我有一个数据库,其中包含日期(数据$ time)和数值(data $ ert)的变量。我是R的新手,试图学习(在Google上检查过很多链接,在Google上使用过吗?也使用了?geom_rect),可能这是一个愚蠢的问题。

    Error in as.Date.numeric(value) : 'origin' must be supplied

当试图可视化情节时,它给了我这个错误:

errno 10054

我无法理解如何将原始信息提供给geom_rect。 怎么了?

1 个答案:

答案 0 :(得分:1)

如果从aes调用中删除min和max参数,则应该正确渲染绘图。以下是一些玩具数据的示例:

# Create made up data
data <- data.frame(time = seq(1, 10, by = 1),
                   ert = runif(n = 10))

# Turn into date format - added as.Date to origin statement
data$time<-as.Date(data$time, "%d/%m/%y", origin = as.Date("1970-01-01"))

# Verify similar structure to OPs dataset
head(data)
#         time       ert
# 1 1970-01-02 0.4485163
# 2 1970-01-03 0.8100644
# 3 1970-01-04 0.8123895
# 4 1970-01-05 0.7943423
# 5 1970-01-06 0.4398317
# 6 1970-01-07 0.7544752

pt1.plot<- ggplot(data, aes(time, ert, group=1, na.rm=T))+
  geom_rect(xmin=2,
                xmax=Inf, ymin=-Inf, ymax=Inf, fill="lightgreen", alpha=0.03) +
  geom_line()+
  labs(x="", y="ert")+
  geom_hline(aes(yintercept=0.5), colour="#990000", linetype="dashed")

pt1.plot

enter image description here