Almost Connected Dot Plots

Aug 11, 2018

Klaus Schulte

In my most recent visualization on red cards in major European football leagues I used a little design trick that led to an ‘almost connected dot plot’ (click to see the interactive version).

Tableau - A Red Card is a Bad Thing

My design idea was to create connections that end shortly before the dots. I quite like the result so here comes the how-to if you want to build own ‘almost connected dot plots’.


1. Create a connected dot plot

There are many sources around that describe how to build connected dot plots. Find blogposts, videos and example workbooks in this overview by Charlie Hutcheson. Basically you build a dual axis chart where the first axis is used to plot the dots and the second one to build a Gantt chart that starts at one point (often at min or max) and is sized by the difference to the other point that has to be connected.

2. Define the gap

I wanted to keep the gap between the points and the connections variable. So I created a parameter:


You will have to edit the values of the parameter according to the values in your viz.

3. Create a dummy starting point

To create your dummy starting point just calculate your starting point and add the parameter:

starting point 1.jpg

In my viz I used a parameter to select the difference to be highlighted (normal vs. short handed and normal vs. majority) by my connections, so I had to calculate a second starting point.

starting point 2.jpg

Depending on which difference I wanted to highlight I could then calculate the gantt starting point for my viz:

starting point viz.jpg

4. Calculate the Gantt size

Now I had to calculate the dummy difference which had to include the first and the second gap (‘2*Gap’):

dummy difference 1.jpg

Here I also had to calculate a second difference…

dummy difference 2.jpg

…and the ‘viz-difference’ depending on my second parameter:

dummy difference 3

5. Creating the viz

To create the viz I just followed the necessary steps to build a connected dot plot (see 1.), set the gap by adjusting my ‘Gap-parameter’ and labeled the difference. Make sure that you use the real difference for labeling!


I hope you enjoyed this post and that you will find own use cases for this technique!