X-Git-Url: https://git.auder.net/?p=talweg.git;a=blobdiff_plain;f=pkg%2FR%2Fplot.R;h=e4147986d6432dae8733be59cf01a947f44b3cea;hp=b720e9a16fe588f492cb6a77af54516115b94bda;hb=16b1c049a9c402544d7076cacfe6b00a3785b51f;hpb=469529710f56c790ae932b45d13fed2e34bcabf2 diff --git a/pkg/R/plot.R b/pkg/R/plot.R index b720e9a..e414798 100644 --- a/pkg/R/plot.R +++ b/pkg/R/plot.R @@ -6,20 +6,20 @@ #' @param indices Range of indices (integers or dates) #' #' @export -plotCurves <- function(data, indices) +plotCurves <- function(data, indices=seq_len(data$getSize())) { - yrange = range( sapply( indices, function(i) { + yrange = quantile( range( sapply( indices, function(i) { serie = c(data$getCenteredSerie(i)) if (!all(is.na(serie))) range(serie, na.rm=TRUE) c() - }) ) + }) ), probs=c(0.05,0.95) ) par(mar=c(4.7,5,1,1), cex.axis=1.5, cex.lab=1.5) for (i in seq_along(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,57 +36,73 @@ 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="") } -#' @title Plot filaments +#' @title Compute filaments #' -#' @description Plot similar days in the past + "past tomorrow", as black as distances are small +#' @description Get similar days in the past + "past tomorrow", as black as distances are small #' #' @param data Object as returned by \code{getData} #' @param index Index in data #' @param limit Number of neighbors to consider +#' @param plot Should the result be plotted? #' #' @export -plotFilaments <- function(data, index, limit=60) +computeFilaments <- function(data, index, limit=60, plot=TRUE) { index = dateIndexToInteger(index, data) ref_serie = data$getCenteredSerie(index) if (any(is.na(ref_serie))) - stop("plotFilaments requires a serie without NAs") + stop("computeFilaments requires a serie without NAs") L = length(ref_serie) - first_day = ifelse(length(data$getCenteredSerie(1)