Plot daily summary statistics
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. 7-day flows) using the roll_days
argument. Calculates statistics from all values, unless specified. The Maximum-Minimum band can be removed using the
include_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, include_extremes = TRUE, inner_percentiles = c(25, 75), outer_percentiles = c(5, 95), add_year, log_discharge = TRUE, 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 if using |
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 to use the first year of the source data. |
end_year |
Numeric value of the last year to consider for analysis. Leave blank to use the last year of the source data. |
exclude_years |
Numeric vector of years to exclude from analysis. Leave blank to include all years. |
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 (e.g. |
ignore_missing |
Logical value indicating whether dates with missing values should be included in the calculation. If
|
include_extremes |
Logical value to indicate plotting a ribbon with the range of daily minimum and maximum flows.
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 for no years. |
log_discharge |
Logical value to indicate plotting the discharge axis (Y-axis) on a logarithmic scale. Default |
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 |
25-75 Percentiles |
a ribbon showing the range of data between the daily 25th and 75th percentiles |
5-95 Percentiles |
a ribbon showing the range of data between the daily 5th and 95th percentiles |
Minimum-Maximum |
a ribbon showing the range of data between the daily minimum and maximums |
'Year' |
(on annual plots) the daily flows for the designated year |
# 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 7-day flows for July-September months only plot_daily_stats(station_number = "08NM116", start_year = 1980, roll_days = 7, months = 7:9) # Plot daily statistics without a log-scale Discharge axis plot_daily_stats(station_number = "08NM116", start_year = 1981, end_year = 2010, log_discharge = FALSE) }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.