How to create an arrow plot

Arrow plots are a relatively new chart type. They show how data points (e.g. life expectancy, election results) of different categories (e.g. countries, parties) have changed between two dates (e.g. decades, years, days). Arrow plots show exactly two dates. If you want to show multiple time points for your data points, consider a line chart. If your emphasis is on the gap between the dots rather than the time that has passed between them, then a range plot is the better choice. If you don't have time points and just want to show one or multiple dots on a line, consider a dot plot.

That's what every arrow plot shows:

  • One or more lines (your categories).
  • Two dates on each line, representing the value the data has in this category, at the two dates.
  • connecting arrow between these points, pointing from the earlier date to the later date. 

This guide will show you how to prepare data to create this chart type. 


Preparing and importing the data

If you want to try to create this chart type, here's what you'll need:

  • One header row containing labels
  • The first column containing main categories. Each main category will appear as a line.
  • At least one other column containing numeric values. Each of the numeric columns is represented by one dot on the line. Remember, you can have as many columns as you like, but the more dots you have on the lines, the harder it gets to read.

That's how the data looks like for the chart you can see above.  (You can simply copy the data to recreate the chart. Just make sure you copy all the rows and columns.)

Party 2009 2013
CDU/CSU 33.8 41.5
SPD 23.0 25.7
LINKE 11.9 8.6
GRÜNE 10.7 8.4
FDP 14.6 4.8


In this case, we have five different categories, i.e. German parties. Be aware that the cells of your table must contain values of the same measures. 

On each party-line, the value of 2009 and the value of 2013 will be represented. The arrow always points from the earlier date to the later date (from 2009 to 2013, in this case). If the value from 2009 is lower than the value from 2013, the arrow points to the right. If the value from 2009 is higher than the value from 2013, the arrow points to the left. 

Once your dataset looks in the right format, you can upload or copy & paste the table to Datawrapper.


Check & Describe

This is what the dataset looks like once it is uploaded into Datawrapper. Make sure that the box  "First row as  label " is ticked so that Datawrapper correctly assigns the values to the labels.

Click on "Proceed" and Datawrapper will take you to the next step



Once you're in the "Visualize" tab, choose "Arrow Plot" and Datawrapper will create the first iteration of your data. Continue with the steps refine, annotate, and design to finish your chart. We have covered this in a separate short tutorial here.