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. 7-day flows) using the roll_days
argument. Calculates statistics from all values, unless specified. The Maximum-Minimum 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 (Y-axis) 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 |
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 |
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 7-day flows for July-September 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.