View source: R/plot_daily_stats.R
plot_daily_stats  R Documentation 
Plots means, medians, maximums, minimums, and percentiles for each day of the year of flow values
from a daily streamflow data set. Can determine statistics of rolling mean days (e.g. 7day flows) using the roll_days
argument. Calculates statistics from all values, unless specified. The MaximumMinimum band can be removed using the
plot_extremes
argument and the percentile bands can be customized using the inner_percentiles
and
outer_percentiles
arguments. Data calculated using calc_daily_stats()
function. Returns a list of plots.
plot_daily_stats(
data,
dates = Date,
values = Value,
groups = STATION_NUMBER,
station_number,
roll_days = 1,
roll_align = "right",
water_year_start = 1,
start_year,
end_year,
exclude_years,
complete_years = FALSE,
months = 1:12,
ignore_missing = FALSE,
plot_extremes = TRUE,
plot_inner_percentiles = TRUE,
plot_outer_percentiles = TRUE,
inner_percentiles = c(25, 75),
outer_percentiles = c(5, 95),
add_year,
log_discharge = TRUE,
log_ticks = ifelse(log_discharge, TRUE, FALSE),
include_title = FALSE
)
data 
Data frame of daily data that contains columns of dates, flow values, and (optional) groups (e.g. station numbers).
Leave blank or set to 
dates 
Name of column in 
values 
Name of column in 
groups 
Name of column in 
station_number 
Character string vector of seven digit Water Survey of Canada station numbers (e.g. 
roll_days 
Numeric value of the number of days to apply a rolling mean. Default 
roll_align 
Character string identifying the direction of the rolling mean from the specified date, either by the first
( 
water_year_start 
Numeric value indicating the month ( 
start_year 
Numeric value of the first year to consider for analysis. Leave blank or set well before start date (i.e.

end_year 
Numeric value of the last year to consider for analysis. Leave blank or set well after end date (i.e.

exclude_years 
Numeric vector of years to exclude from analysis. Leave blank or set to 
complete_years 
Logical values indicating whether to include only years with complete data in analysis. Default 
months 
Numeric vector of months to include in analysis. For example, 
ignore_missing 
Logical value indicating whether dates with missing values should be included in the calculation. If

plot_extremes 
Logical value to indicate plotting a ribbon with the range of daily minimum and maximum flows.
Default 
plot_inner_percentiles 
Logical value indicating whether to plot the inner percentiles ribbon. Default 
plot_outer_percentiles 
Logical value indicating whether to plot the outer percentiles ribbon. Default 
inner_percentiles 
Numeric vector of two percentile values indicating the lower and upper limits of the
inner percentiles ribbon for plotting. Default 
outer_percentiles 
Numeric vector of two percentile values indicating the lower and upper limits of the
outer percentiles ribbon for plotting. Default 
add_year 
Numeric value indicating a year of daily flows to add to the daily statistics plot. Leave blank
or set to 
log_discharge 
Logical value to indicate plotting the discharge axis (Yaxis) on a logarithmic scale. Default 
log_ticks 
Logical value to indicate plotting logarithmic scale ticks when 
include_title 
Logical value to indicate adding the group/station number to the plot, if provided. Default 
A list of ggplot2 objects with the following for each station provided:
Daily_Stats 
a plot that contains daily flow statistics 
Default plots on each object:
Mean 
daily mean 
Median 
daily median 
2575 Percentiles 
a ribbon showing the range of data between the daily 25th and 75th percentiles 
595 Percentiles 
a ribbon showing the range of data between the daily 5th and 95th percentiles 
MinimumMaximum 
a ribbon showing the range of data between the daily minimum and maximums 
'Year' 
(on annual plots) the daily flows for the designated year 
calc_daily_stats
# Run if HYDAT database has been downloaded (using tidyhydat::download_hydat())
if (file.exists(tidyhydat::hy_downloaded_db())) {
# Plot daily statistics using a data frame and data argument with defaults
flow_data < tidyhydat::hy_daily_flows(station_number = "08NM116")
plot_daily_stats(data = flow_data,
start_year = 1980)
# Plot daily statistics using only years with no missing data
plot_daily_stats(station_number = "08NM116",
complete_years = TRUE)
# Plot daily statistics and add a specific year's daily flows
plot_daily_stats(station_number = "08NM116",
start_year = 1980,
add_year = 1985)
# Plot daily statistics for 7day flows for JulySeptember months only
plot_daily_stats(station_number = "08NM116",
start_year = 1980,
roll_days = 7,
months = 7:9)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.