X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2FR%2Fplot.R;h=f4fc3bfac02a7f703c493aa29c16bab51c2dc6a1;hb=1e20780ee1505fac6c7ed68d340892c497524561;hp=c4f9cda76abef4d47187d36a498d53235b89fb85;hpb=fa8078f9658dccadc0f9bcc7b54c13ecda621816;p=talweg.git diff --git a/pkg/R/plot.R b/pkg/R/plot.R index c4f9cda..f4fc3bf 100644 --- a/pkg/R/plot.R +++ b/pkg/R/plot.R @@ -6,7 +6,7 @@ #' @param indices Range of indices (integers or dates) #' #' @export -plotCurves <- function(data, indices) +plotCurves <- function(data, indices=seq_len(data$getSize())) { yrange = quantile( range( sapply( indices, function(i) { serie = c(data$getCenteredSerie(i)) @@ -19,7 +19,7 @@ plotCurves <- function(data, indices) { plot(data$getSerie(indices[i]), type="l", ylim=yrange, xlab=ifelse(i==1,"Temps (en heures)",""), ylab=ifelse(i==1,"PM10","")) - if (ii < length(indices)) + if (i < length(indices)) par(new=TRUE) } } @@ -36,9 +36,9 @@ plotCurves <- function(data, indices) plotPredReal <- function(data, pred, index) { horizon = length(pred$getSerie(1)) - par(mar=c(4.7,5,1,1), cex.axis=1.5, cex.lab=1.5, lwd=3) measure = data$getSerie(pred$getIndexInData(index)+1)[1:horizon] yrange = range( pred$getSerie(index), measure ) + par(mar=c(4.7,5,1,1), cex.axis=1.5, cex.lab=1.5, lwd=3) plot(measure, type="l", ylim=yrange, xlab="Temps (en heures)", ylab="PM10") par(new=TRUE) plot(pred$getSerie(index), type="l", col="#0000FF", ylim=yrange, xlab="", ylab="") @@ -66,15 +66,25 @@ computeFilaments <- function(data, index, limit=60, plot=TRUE) sqrt( sum( (ref_serie - data$getCenteredSerie(i))^2 ) / L ) }) # HACK to suppress NA effect while keeping indexation + + + + + +##TOCONTINUE + + + + distances[is.na(distances)] = max(distances,na.rm=TRUE) + 1 - indices = sort(distances, index.return=TRUE)$ix[1:min(limit,index-first_day)] + indices = sort(distances, index.return=TRUE)$ix[1:min(limit,length(distances))] yrange = quantile( range( ref_serie, sapply( indices, function(i) { - index = i - first_day + 1 - serie = c(data$getCenteredSerie(index), data$getCenteredSerie(index+1)) + ii = i - 1 + first_day + serie = c(data$getCenteredSerie(ii), data$getCenteredSerie(ii+1)) if (!all(is.na(serie))) return (range(serie, na.rm=TRUE)) c() - }) ), probs=c(0.1,0.9) ) + }) ), probs=c(0.05,0.95) ) grays = gray.colors(20, 0.1, 0.9) #TODO: 20 == magic number color_values = floor( 20.5 * distances[indices] / (1+max(distances[indices])) ) plot_order = sort(color_values, index.return=TRUE)$ix