Creating Scrollytell in R

John Coene

Scrollytell is a combination of “storytelling” and “scrolling” and is very prominent in data journalism. You may not be familiar with the term but probably have come across such articles.

Efforts to Rescue Migrants Caused Deadly, Unexpected Consequences

I have worked to bring to R, namely Shiny, JavaScript libraries that enable reproducing similar effects.

What you need

For scrollytelling you need 1) a library that will let you pick up how far the user has scrolled and 2) a library to make the visualisation stick. The latter is probably doable without a library if you are skilled in CSS.

The requirements above are essentially the reason I built:

  1. waypointer which I moved to RinteRface.
  2. shticky

The first allows you to place anchors in your UI and pick up which anchor(s) users reach and in which direction they are scrolling when they pass the anchors. The second, shticky, lets you programatically make an element stick to the webpage. Another thing you will probably need is a visualisation library that enables working with proxies in order to dynamically add and remove data points from your visualisation as the user scrolls.


Below is a basic example using tidytuesday #rstats dataset.

The example is live here, the source code can be found on Github.


For attribution, please cite this work as

Coene (2019, April 20). John Coene's blog: Scrollytell. Retrieved from

BibTeX citation

  author = {Coene, John},
  title = {John Coene's blog: Scrollytell},
  url = {},
  year = {2019}