Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

mbojan/alluvial

Open more actions menu

Repository files navigation

R package for drawing alluvial diagrams

R-CMD-check rstudio mirror downloads cran version

What are alluvial diagrams? See for example:

This package use base R graphics (R Core Team 2021) package. For Grammar of Graphics implementation see ggalluvial (Brunson and Read 2020; Brunson 2020).

Examples

Alluvial diagram of datasets::Titanic data made with alluvial(). Notice how each category block becomes a stacked barchart showing relative frequency of survivors.

tit <- tibble::as_tibble(Titanic)

tit %>% head() %>% knitr::kable()
Class Sex Age Survived n
1st Male Child No 0
2nd Male Child No 0
3rd Male Child No 35
Crew Male Child No 0
1st Female Child No 0
2nd Female Child No 0
alluvial(
    select(tit, Survived, Sex, Age, Class),
    freq=tit$n,
    col = ifelse(tit$Survived == "Yes", "orange", "grey"),
    border = ifelse(tit$Survived == "Yes", "orange", "grey"),
    layer = tit$Survived != "Yes",
    alpha = 0.8,
    blocks=FALSE
  )

Alluvial diagram for multiple time series / cross-sectional data based on alluvial::Refugees data made with alluvial_ts().

Refugees %>% head() %>% knitr::kable()
country year refugees
Afghanistan 2003 2136043
Burundi 2003 531637
Congo DRC 2003 453465
Iraq 2003 368580
Myanmar 2003 151384
Palestine 2003 350568
set.seed(39) # for nice colours
cols <- hsv(h = sample(1:10/10), s = sample(3:12)/15, v = sample(3:12)/15)

alluvial_ts(Refugees, wave = .3, ygap = 5, col = cols, plotdir = 'centred', alpha=.9,
            grid = TRUE, grid.lwd = 5, xmargin = 0.2, lab.cex = .7, xlab = '',
            ylab = '', border = NA, axis.cex = .8, leg.cex = .7,
            leg.col='white', 
            title = "UNHCR-recognised refugees\nTop 10 countries (2003-13)\n")

Installation

Install stable version from CRAN using

install.packages("alluvial")

or development version from GitHub using remotes::install_github():

remotes::install_github("mbojan/alluvial", build_vignettes=TRUE)

References

Brunson, Jason Cory. 2020. “ggalluvial: Layered Grammar for Alluvial Plots.” Journal of Open Source Software 5 (49): 2017. https://doi.org/10.21105/joss.02017.

Brunson, Jason Cory, and Quentin D. Read. 2020. “Ggalluvial: Alluvial Plots in ’Ggplot2’.” http://corybrunson.github.io/ggalluvial/.

R Core Team. 2021. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.

About

Alluvial diagrams

Resources

License

Stars

Watchers

Forks

Contributors 5

Morty Proxy This is a proxified and sanitized view of the page, visit original site.