R 中的时间序列图:从图中删除间隙 [zoo]

Time series plot in R: Remove gaps from plot [zoo]

我通过从 RasterBrick 中提取时间序列创建了一个动物园对象:

library(zoo)
s <- RasterBrick

target_cell <- 23265

ss <- zooExtract(s, target_cell)

windows()
plot.zoo(ss, type = "o")

我的结果如下所示。我想要一条线穿过所有的点,但我似乎无法让它发挥作用,我已经查看了以前对这个问题的回答。我已经尝试 lines() 并且它给出了相同的结果。

正如@Richard Telford 所说,图中的空白是由于缺少数据造成的。 使用基函数 complete.casesna.locf 来自 zoo 的差距 可以删除或填充以前的观察结果,如下所示:

#to identity periods with missing data

missingPeriod = as.Date(index(ss[!complete.cases(ss),]))


#to retain only periods with no missing data
ssComplete = ss[complete.cases(ss),]


#to retain all periods with gaps filled with previous value
#maxgap parameter controls number of missing data replaced with prev observation
N = 5
ssFilled = zoo::na.locf(ss,maxgap=N); 

#plots
plot.zoo(ssComplete , type = "o")

plot.zoo(ssFilled, type = "o")