Skip to contents

Overview

ggRunoff is an R package that can use the ggplot2 syntax to help you visualise rainfall-runoff process lines through the simplest functions in R language:

| 洪水过程线 | 流量过程线 |

Installation

You can install the development version of ggRunoff from GitHub with:

# install.packages("remotes") or using `devtools`
remotes::install_github("cug-xyx/ggRunoff")

Usage

Rainfall-runoff process lines

Firstly, load ggRunoff package and runoff_data.

library(ggRunoff)

data("runoff_data", package = "ggRunoff")

# add a flood type
runoff_data$flood_type = c(rep('flood_1', 400), rep('flood_2', 344))

Check runoff_data.

tibble::tibble(runoff_data)
#> # A tibble: 744 x 4
#>   time                 prcp     Q flood_type
#>   <dttm>              <dbl> <dbl> <chr>     
#> 1 2010-05-01 00:00:00     0  73.3 flood_1   
#> 2 2010-05-01 01:00:00     0  72.8 flood_1   
#> 3 2010-05-01 02:00:00     0  72.9 flood_1   
#> 4 2010-05-01 03:00:00     0  73.3 flood_1   
#> 5 2010-05-01 04:00:00     0  69.8 flood_1   
#> # ... with 739 more rows

Draw rainfall-runoff process lines. Note that the parameter coef is a factor that adjusts the scale of rainfall and runoff. It is used in the geom_rainfallRunoff function to adjust the scale of the two on the graph, and in the scale_y_precipitation function to adjust the magnitude of the second coordinate axis.

set_coef = 15

ggplot(runoff_data, aes(x=time, Q)) +
  geom_rainfallRunoff(
    aes(runoff=Q, prcp=prcp, color=flood_type), 
    coef=set_coef, show.legend = F
  ) +
  scale_y_precipitation(sec.name = 'Precipitation (mm)', coef = set_coef) +
  facet_wrap(~flood_type, scales = 'free')

More examples produced by ggRunoff

Optimising results in Usage. Click here to see the source code.

Visualisation of hydrological model performance during calibration and validation periods at three sites by mnxuao. Click here to see the source code.

TODO

  • Add a package logo using hexSticker or something.
  • Add a setting for showing rainfall legend.
  • Calculate yint by group for facet_wrap or facet_grid.
  • theme_rainfallRunoff, including aixs.line.y.right and other theme. settings.