Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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
R 使用ggplot,如何根据日期组合线和多边形?_R_Ggplot2_Line_Polygon_Geom Bar - Fatal编程技术网

R 使用ggplot,如何根据日期组合线和多边形?

R 使用ggplot,如何根据日期组合线和多边形?,r,ggplot2,line,polygon,geom-bar,R,Ggplot2,Line,Polygon,Geom Bar,假设我有以下数据帧: Date_spill<-rev(seq(as.Date("2019-02-28"), length = 3135, by = "-1 day")) Total<-data.frame(Total_H7=runif(3135, min=0.6, max = 0.8)) Total_var<-data.frame(Total_H7=runif(3135, min=0.4, max = 0.55)) CPM_period&

假设我有以下数据帧:

Date_spill<-rev(seq(as.Date("2019-02-28"), length = 3135, by = "-1 day"))
Total<-data.frame(Total_H7=runif(3135, min=0.6, max = 0.8))
Total_var<-data.frame(Total_H7=runif(3135, min=0.4, max = 0.55))
CPM_period<-data.frame(x=c(as.numeric(Date_spill[702]), as.numeric(Date_spill[1402]), as.numeric(Date_spill[702]), as.numeric(Date_spill[1402]), as.numeric(Date_spill[1970]), as.numeric(Date_spill[2145]), as.numeric(Date_spill[1970]), as.numeric(Date_spill[2145])
), 
y=c(min(Total_var$Total_H7), min(Total_var$Total_H7), max(Total$Total_H7), max(Total$Total_H7), min(Total_var$Total_H7), min(Total_var$Total_H7), max(Total$Total_H7), max(Total$Total_H7)),
 period=c("a", "a", "a", "a", "b", "b", "b", "b"))

Date\u-spill问题在于,在定义数据集
CPM\u期间时,以及在
geom\u-vline
中,您将日期变量转换为数字。因此,请将其作为日期:

库(ggplot2)
泄漏日期
Total_ReVarCov<-ggplot() +
  geom_line(aes(y = Total$Total_H7, x=Date_spill), color="skyblue3", linetype="twodash", alpha=0.6)+ #First time series
  geom_line(aes(y = Total_var$Total_H7, x=Date_spill), color="darkred", linetype="twodash", alpha=0.6)+ #Second time series
geom_polygon(aes(x=CPM_period$x, y=CPM_period$y, group=CPM_period$period))+ #Two polygons
 geom_vline(xintercept=as.numeric(Date_spill[2528]), linetype=4)+ #An specific fact
  labs(x = "", y="Aggregated Index", colour="Variables")