Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当有一个日期变量作为x轴[R]时,如何使用geom_rect?_R_Date_Time - Fatal编程技术网

当有一个日期变量作为x轴[R]时,如何使用geom_rect?

当有一个日期变量作为x轴[R]时,如何使用geom_rect?,r,date,time,R,Date,Time,我有一个带有日期(data$time)和数值(data$ert)变量的数据库。我是R的新手,正在努力学习(在Google上查看了很多链接;也使用了geom?rect),可能这是一个愚蠢的问题 library(ggplot2) data<-read.csv("pt1.csv", header=T, sep="\t", dec=",") data$time<-as.Date(data$time, "%d/%m/%y", origin="1970-01-01")

我有一个带有日期(data$time)和数值(data$ert)变量的数据库。我是R的新手,正在努力学习(在Google上查看了很多链接;也使用了geom?rect),可能这是一个愚蠢的问题

    library(ggplot2)
    data<-read.csv("pt1.csv", header=T, sep="\t", dec=",")
    data$time<-as.Date(data$time, "%d/%m/%y", origin="1970-01-01")
    pt1.plot<-<-ggplot(data, aes(time, ert, group=1, na.rm=T))+geom_rect(aes(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
我不明白如何将原始信息提供给geom_!。
怎么了?

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

# 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
#创建合成数据

谢谢,成功了!有没有办法计算某个日期对应的数字?否则,我将不得不尝试数字并使用绘图的视觉控件。您可以尝试
as.numeric(as.Date(“yourdate”),%d/%m/%y,origin=as.Date(“1970-01-01”))
此外,如果这回答了您的问题,请接受答案以结束问题!
# 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