Skip to content

ggRunoff: Visualisation of rainfall-runoff process lines using ggplot2 syntax. 利用ggplot2语法绘制洪水过程线

License

Notifications You must be signed in to change notification settings

cug-xyx/ggRunoff

Repository files navigation

ggRunoff

License: GPL v3 GitHub last commit

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:

  • geom_rainfallRunoff() adds rainfall-runoff process line layer
  • scale_y_precipitation() adjusts y-axis and second axis

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

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   
#> # i 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.
  • Update exist funcitions in ggRunoff to make it more convenient.
  • Make README.md more clear.
  • 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.

References

About

ggRunoff: Visualisation of rainfall-runoff process lines using ggplot2 syntax. 利用ggplot2语法绘制洪水过程线

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages