Chapter 13 Chart types

13.1 Chart types: theory and methods

Naomi Robbins (2013), Creating More Effective Graphs, Chart House.

13.2 Bar charts (and their variants)

Andy Kirk (2019-07-19) Five Ways To…Present Bar Charts – first in a series of “Five Ways To…”

13.3 Box plots (a way to visualize distributions)

R package boxplot

Laura DeCicco, 2018-08-10, Exploring ggplot2 boxplots - Defining limits and adjusting style

Ron Pearson, 2011-01-29, Boxplots and Beyond – Part I (first in a multi-part series on various distribution plots)

13.4 Bump plot

A line chart that shows changes in ranking over time (not the absolute value).

13.5 Density plot within {ggplot2}

Smoothed density estimates

  • “Computes and draws kernel density estimate, which is a smoothed version of the histogram. This is a useful alternative to the histogram for continuous data that comes from an underlying smooth distribution.”

13.6 Dot plot (Cleveland dot plot, lollipop plot)

13.7 Dynamite plots

A.K.A. bar and line graphs. Don’t use them!

13.8 Eikosograms

an eikosogram is a picture of probability. It visually partitions a unit square into rectangular regions whose areas give the numerical values of various probabilities. The construction is such that each rectangular region is identified with the value of one or more categorical variates. R.W. Oldford

13.9 Flow visualizations

1. Circle plots

2. Sankey plots

Interactive flow visualization in R; Kyle Walker, 2016-06-26

How to Make a D3 Sankey diagram in R

13.10 Genealogical data {ggeneology}

13.12 Histograms

see also Mosaic (a.k.a. Marimekko) charts

Variable width column charts (in ggplot2)

Aran Lunzer and Amelia McNamara, What’s so hard about histograms?

13.13 Lexis diagrams

Tim RiffeEmail author, Jonas Schöley and Francisco Villavicencio (2017) “A unified framework of demographic time”, Genus: Journal of Population Sciences, 2017 73:7

13.14 Mosaic (a.k.a. Marimekko) charts

Mosaic plots are a variant of Histograms

Haley Jeppson and Heike Hofmann (2018-09-12) Mosaic plots with ggplot2

Hadley Wickham and Heike Hofmann, [“Product Plots”](Wickham and Hofmann 2011)

Mosaic or Marimekko charts (in {ggplot2})

Perceptual Edge, A Design Problem

Alberto Cairo (2019-07-09) A mosaic plot that exemplifies good design practices

13.15 Network graphs {DiagramR}

{DiagramR}: Graph and network visualization using tabular data in R

ggnet2: network visualization with ggplot2 – part of the GGally package

13.16 Pie Charts

Over-used and often mis-used and poorly designed, the pie chart is frequently the subject of ridicule and scorn. But this format does have utility (if done well) and supporters.

Robert Kosara, 2016, “A Pair of Pie Chart Papers” (Kosara 2016b)

Robert Kosara, 2016, “An Illustrated Tour of the Pie Chart Study Results” (Kosara 2016a)

Elizabeth Ricks, 2020, “What is a Pie Chart” (Ricks 2020)

13.18 Raincloud plot

Micah Allen, 2018-03-15, Introducing Raincloud Plots!

RainCloudPlots – “Code and tutorials to visualise your data that is both beautiful and statistically valid”

David Zhao, 2019-09-02, The ultimate EDA visualization in R

13.19 Ridgeline plot

** ridgeline plots in R ** {ggridges}

{ggridges} package by Claus Wilke – CRAN page

Alex Whan, 2016-03-24, ggplot2 and Joy Division - at Incrutable Errors

Mauricio Vargas S., 2016-11-08, Joy Division’s Unknown PleasuRes - at R-Bloggers

Henrik Lindberg, Sports: Time of Day

** Unknown Pleasures **

The over of Joy Division’s debut album Unknown Pleasures (1979) is perhaps the most famous ridgeline plot.

13.20 Slopegraphs

A common visualization to show relative change between two time periods across different categories.

13.20.1 Theory and methods

Cole Nussbaumer Knaflic, 2015, Storytelling with Data, pp.47-49.

13.20.2 R

Kyle Walker, 2015-05-17, Global population change with a slopegraph in ggplot2 CGPfunctions

“Using newggslopegraph” – CRAN vignette {slopegraph}


13.21 Ternary plots {ggtern}

ggtern - an extension to ggplot2 for plotting ternary diagrams.

13.22 Violin plots

wikipedia: Violin plot

  • “It is similar to a box plot, with the addition of a rotated kernel density plot on each side.” within {ggplot2}


  • “A violin plot is a compact display of a continuous distribution. It is a blend of geom_boxplot() and geom_density(): a violin plot is a mirrored density plot displayed in the same way as a boxplot.” {vioplot}


CRAN page: vioplot: Violin Plot: “A violin plot is a combination of a box plot and a kernel density plot. This package allows extensive customisation of violin plots.”

GitHub page: {vioplot}( “This package allows extensive customisation of violin plots.”

13.23 Waffle plots {waffle}


CRAN page: waffle: Create Waffle Chart Visualizations in R

GitHub page: {waffle}( Make waffle (square pie) charts in R


Infographic-style charts using the R waffle package

13.24 Unit visualization

Antoine Béland and Thomas Hurtut (2020) Unit Visualizations for Visual Storytelling, 2020, research paper presented at the 2020 Computation + Journalism Symposium (2020-03-20 to 2020-03-21)



Kosara, Robert. 2016a. “An Illustrated Tour of the Pie Chart Study Results.” 2016.

Kosara, Robert. 2016b. “A Pair of Pie Chart Papers.” 2016.

Ricks, Elizabeth. 2020. “What Is a Pie Chart?” 2020.

Wickham, Hadley, and Heike Hofmann. 2011. “Product Plots.” IEEE Transactions on Visualization and Computer Graphics 17 (12): 2223–30.