Skip to content

Commit 1262bd9

Browse files
committed
Bug fixes
1 parent 46c7694 commit 1262bd9

1 file changed

Lines changed: 19 additions & 8 deletions

File tree

R/plot_dynamic.R

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,20 @@ plot_dynamic <- function(
3636
}
3737
)
3838

39-
all_values <- dpp$moving_averages[,-1]
40-
value_stats <- apply(all_values, 1, quantile, probs = c(0.05, 0.25, 0.5, 0.75, 0.95), na.rm = TRUE)
39+
if(is.null(pixelClusters)){
40+
all_values <- dpp$moving_averages[,-1]
41+
value_stats <- apply(all_values, 1, quantile, probs = c(0.05, 0.25, 0.5, 0.75, 0.95), na.rm = TRUE)
42+
} else {
43+
cn <- sort(unique(pixelClusters))
44+
all_values <- lapply(cn, function(cl_i) {
45+
dpp$moving_averages[,names(pixelClusters)[pixelClusters == cl_i]]
46+
})
47+
cluster_stats <- value_stats <- lapply(all_values, function(x){
48+
apply(x, 1, quantile, probs = c(0.05, 0.25, 0.5, 0.75, 0.95), na.rm = TRUE)
49+
})
50+
value_stats <- do.call(cbind, value_stats)
51+
}
52+
4153

4254
# Plot Dynamic
4355
v_lines <- as.numeric(format(x = as.Date(
@@ -68,7 +80,7 @@ plot_dynamic <- function(
6880
ylim <- c(yrange[1] - diff(yrange) * 0.1, yrange[2] + diff(yrange) * 0.1)
6981

7082
}
71-
plot(x = 1:365, y = all_values[,1], type = "n",
83+
plot(x = 1:365, y = rep(0,365), type = "n",
7284
ylab = ylab, xlab = "Day of the Year",
7385
ylim = ylim,
7486
main = paste0(lakeName, ifelse(
@@ -98,11 +110,11 @@ plot_dynamic <- function(
98110

99111
lines(x = 1:365, y = value_stats["50%",], lwd = 2, col = cv[1])
100112
} else {
101-
cn <- sort(unique(pixelClusters))
102113
n_cn <- summary(as.factor(pixelClusters))
114+
i <- 1
103115
for(cl_i in cn){
104-
all_values <- dpp$moving_averages[,names(pixelClusters)[pixelClusters == cl_i]]
105-
value_stats <- apply(all_values, 1, quantile, probs = c(0.05, 0.25, 0.5, 0.75, 0.95), na.rm = TRUE)
116+
value_stats <- cluster_stats[[i]]
117+
i <- i + 1
106118

107119
if(!smallBandOnly){
108120
polygon(x = c(1:365, 365:1),
@@ -119,12 +131,11 @@ plot_dynamic <- function(
119131
"top",
120132
legend = paste0("C", cn," (n=", format(n_cn, big.mark = ","), ")"),
121133
fill = cv[cn],
122-
horiz = TRUE,
123134
bg = "black",
124135
box.lwd = NA,
125136
cex = 0.9,
126137
text.col = "white",
127-
ncol = 5
138+
ncol = ifelse(length(cn) < 5, length(cn), 5)
128139
)
129140
}
130141
}

0 commit comments

Comments
 (0)