library(alluvial) library(dplyr) knitr::opts_chunk$set( fig.width=8, fig.height=6, fig.path = "tools/" ) knitr::render_markdown(strict=FALSE)
What are alluvial diagrams? See for example:
This package use base R graphics [@r-graphics] package. For Grammar of Graphics implementation see ggalluvial [@r-ggalluvial;@ggalluvial-article].
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() 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() 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")
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.