R/plot_temperature_interactive.R

Defines functions plot_temperature_interactive

Documented in plot_temperature_interactive

#' Plot Temperature Interactive
#'
#' @param df data frame with temperature data and columns "date" (YYYY-MM-DD) and "value"
#' @return plot with interactive temperature data
#' @export
#' @examples
#' path <- kwb.heatsine::extdata_file("temperature_groundwater_Txxxx3.csv")
#' gw_data <- kwb.heatsine::load_temperature_from_csv(path)
#' kwb.heatsine::plot_temperature_interactive(gw_data)
#'
plot_temperature_interactive <- function(df)
{
  value_range <- range(kwb.utils::selectColumns(df, "value"))

  yintercept <- c(
    value_range[1L], # minimum
    (value_range[1L] + value_range[2L]) / 2, # mean(c(min, max))
    value_range[2L] # maximum
  )

  g <- ggplot2::ggplot(df, ggplot2::aes_string(x = "date", y = "value")) +
    ggplot2::geom_point() +
    ggplot2::geom_hline(yintercept = yintercept, lty = 2, colour = "grey") +
    ggplot2::scale_x_date(date_labels = "%Y/%m/%d") +
    ggplot2::labs(title = attr(df, "label"), y = "temperature (\u00B0 C)") +
    ggplot2::theme_bw()

  plotly::ggplotly(g)
}
KWB-R/kwb.heatsine documentation built on Oct. 22, 2020, 12:37 a.m.