我有一个名为"数据"的时间序列数据集,其中包含多年采样日期内几口井的水位数据.data.frame的头部如下所示:
Date Well Elev
1 2002-05-23 MW-3 929.04
2 2002-05-29 MW-3 929.39
3 2002-05-31 MW-3 929.37
4 2002-06-05 MW-3 929.36
5 2002-06-12 MW-3 NA
6 2002-06-13 MW-3 929.47
7 2002-06-19 MW-3 929.42
8 2002-06-26 MW-3 930.02
9 2002-07-05 MW-3 930.00
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用ggplot来绘制每个井的水位随时间的变化,这样我的x轴是"日期",我的y轴是"高程",每个井都以不同的颜色绘制.我用下面的代码创建了这个情节,这令我满意.
我的问题是我试图用geom_rect叠加灰色矩形来显示井泵的开启时间.我认为我非常接近,但我必须做日期格式化错误(?),因为我不断收到以下错误:
错误:输入无效:date_trans仅适用于Date类的对象
有帮助吗?提前致谢!
这是我的代码:
#Import and fix up data
Data = read.csv("water_elevation_for_R_date.csv", stringsAsFactors=FALSE)
colnames(Data)[1] <- "Date"
Data$Date = as.Date(Data$Date, format = "%m/%d/%Y")
Data$Well <- as.factor(Data$Well)
Data$Elev <- as.numeric(Data$Elev)
#Load ggplot and scales
library(ggplot2)
library(scales)
#Create graph
ggplot(data= Data, aes(x …Run Code Online (Sandbox Code Playgroud) 我正在 ggplot 中制作图表,并希望我的钥匙没有背景颜色。由于最后一行,legend.key=element_blank(),我可以使用以下代码删除背景颜色:
#For Testing
ggplot(data= Data, aes(x = Date, y = Elev, group = Well, colour = Well)) +
geom_line(size = 0.75) +
xlab("") + ylab("Elevation (ft.)") +
scale_color_brewer(palette = "Spectral") +
scale_x_date(breaks = date_breaks("1 year"),
date_labels = ("%b %Y")) +
theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1),
panel.grid.major.x = element_blank(),
panel.grid.major.y = element_line( size=.1, color="gray"),
panel.grid.minor = element_blank(),
axis.line.x = element_line(color = "black"),
axis.line.y = element_line(color = "black"),
panel.background = element_rect(fill = "white"),
legend.key=element_blank()) …Run Code Online (Sandbox Code Playgroud)