当有一个日期变量作为x轴[R]时,如何使用geom_rect?
我有一个带有日期(data$time)和数值(data$ert)变量的数据库。我是R的新手,正在努力学习(在Google上查看了很多链接;也使用了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")
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