Learn R Programming

FlowScreen (version 0.9)

screen.metric: Plot a metric with trend and change points

Description

This function plots a time series of a streamflow metric with the prewhitened linear trend and any detected changepoints in mean and variance.

Usage

screen.metric(y, ylabel = "", text = NULL)

Arguments

y
Numeric vector with "times" attribute
ylabel
Character string for the y-axis label
text
optional character string for margin text, e.g. for station name, location, or other notes.

Value

  • Returns a list containing results from the trend and changepoint analysis. This list has the following elements:
    • slope - Numeric vector containing the intercept and slope of the prewhitened linear trend computed withzyp.trend.vectorusing Yue Pilon's method
    • ci1 - numeric vector containing the intercept and slope of the upper confidence bound. Seeconfint.zyp
    • ci2 - numeric vector of length 2 containing the intercept and slope of the lower confidence bound. Seeconfint.zyp
    • pval - numeric value indicatng the significance value of the detected trend, Kendall test computed withinzyp.trend.vector
    • cpts - numeric vector of changepoints if any are found, computed withcpt.meanvar
    • means - numeric vector of means computed withcpt.meanvar

Details

This function plots detected changepoints as a vertical dashed line. The means on either side of a changepoint are plotted as solid black lines. If the temporal trend is significant (p-value < 0.1), the trend is plotted as a blue or red line for an increasing or decreasing trend, respectively. The upper and lower 95 dotted red or blue lines. If a trend is not significant, it is not plotted.

See Also

See screen.summary to create a summary screening plot of high flow, low flow, or baseflow metrics. See metrics.all to calculate 30 different streamflow metrics at once. The screen.metric function could then be used to loop through the metrics and create an individual plot for each.

Examples

Run this code
data(cania.sub.ts)

# calculate and plot the annual maximum series
res <- pk.max(cania.sub.ts)
res1 <- screen.metric(res, ylabel="Q (m3/s)", 
text="Caniapiscau River, Annual Maximum Series")

# calculate and plot the annual minimum series
res <- MAMn(cania.sub.ts, n=1)
res1 <- screen.metric(res, ylabel="Discharge (m3/s)", 
text="Caniapiscau River, Annual Minimum Series")

Run the code above in your browser using DataLab