{ggflowchart} is an R package for producing flowcharts using {ggplot2}.
Install the package from CRAN using:
install.packages("ggflowchart")
or install the development version from GitHub:
# remotes::install_github("nrennie/ggflowchart")
install.packages("ggflowchart", repos = c('https://nrennie.r-universe.dev', 'https://cloud.r-project.org'))
The idea of {ggflowchart} is to create simple flowcharts with minimal effort. Currently, all flowcharts are constructed using the ggflowchart() function. For the most basic flowchart, it takes as input a data frame containing (at least) two columns for the start and end points of the edges in the flowchart.
data <- tibble::tibble(from = c("A", "A", "A", "B", "C", "F"),
to = c("B", "C", "D", "E", "F", "G"))
The flowchart is then created using ggflowchart().
ggflowchart(data)

See vignettes for further examples of usage.
Some arguments can be mapped to aesthetics and some cannot. Arguments that can currently be mapped to aesthetics:
fill: must be a valid colour, or the name of a column in node_data if mapping to a variable. Fill colours can be changed with e.g. scale_fill_manual().text_colour (or text_color): must be a valid colour, or the name of a column in node_data if mapping to a variable. Colours can be changed with e.g. scale_colour_manual().Arguments that may be mapped to aesthetics in future:
colour (or color) for the outline colour of nodes.arrow_colour (or arrow_color)arrow_linewidtharrow_linetypealphaUpcoming features that are currently listed as issues being worked on include:
If you have a suggestion of an additional feature, or find a bug, please file an issue on the GitHub repository.
If you'd like to contribute to {ggflowchart}, I'd welcome your help. If you're making a PR, please follow the guidelines below, to make the collaboration easier:
lintr::lint_package() passes.|> pipe (we're not quite ready to specify R 4.1 or higher as a dependency yet!).If these checks fail, and there is no response from the PR author for 1 month, the PR will be automatically closed.