Creating Circular Dot Plot Timelines in Tableau
Apr 30, 2018Klaus Schulte
For the first #IronViz feeder contest I created a context machine for German literature (click the viz for an interactive version on Tableau Public):
The visualization provides context to the different epoques of German literature by showing the epoques as a circular gantt chart next to historical events, technical inventions and famous composers of the respective years.
I had the idea of a ‘timeline context machine’ right the moment when the topic of the first feeder was announced. When I started looking for some infos about the epoques of German literature I soon realized that they are very unbalanced. Old German High Literature (750-1170) for example covers a range of 420 years, while the epoque of Post war literature (1945-1952) only covers seven years. Consequently all the timelines I found weren’t scaled properly.
I knew what I wanted to do when I saw a post by Benjamin Bach on Twitter where an article about timelines was linked showing examples of circular timelines.
Help us collecting creative visualization designs with lines and curves: https://t.co/mC3WO5ozDF @QiuyuanRen @charles_perin Pierre Dragicevic #datavis @DesignInf https://t.co/ENy1HIezpI pic.twitter.com/9yst6QIovk
— Benjamin Bach (@benjbach) 19. April 2018
With a circular timeline it would be possible to plot all the data points in a lucid viz at the right scale and it would still be possible to explore all the data points by hovering. My only problem was: I had no idea how to do this in Tableau.
When I started researching I read a lot about radial bar charts and sunburst charts but non of the solutions I found was able to help me executing my idea of a dot plot timeline. Eventually I remembered this fantastic Viz by Michael Mixon.
The Level is in the Details | #MakeoverMonday Wk51
I decided to spend some time with this since it’s a data set I’ve been wanting to play with for a while.
— Michael Mixon (@mix_pix) 27. Dezember 2017
I was lucky that Michael also wrote a blogpost where he described the how to. When I read the blog I realized that I could adopt the techniques Michael used to let my design idea come to life.
I initially set up my viz with dummy data. I first created a datasource including years from 750 to 1995, a column for the type of content the ring would represent (e. g. ‘historical events’) and a variable to set the position of the ring and the distances between the rings (or the radius of the ring).
Then I used Michael’s formular for angle and adopted his formulars for X and Y:
After bringing in Y on columns, X on rows, Year on Detail and Type of Content on path I had this nice first result:
Then I added a column ‘Wikipedia’ with exemplary events in my data source and calculated a second X for the dual axis.
Bringing in the second X, creating and synchronising the dual axis led me to this result. I finally was where I wanted to be.
The rest was ‘just’ bringing in more circles and all the data I wanted to show and formatting the viz.
I hope you enjoyed this post!