Yes, I have been experimenting with Jitter Plots recently, and created the following Circular Jitter Plot in Tableau; this type of chart does create a distinct and unique look, so I hope you have fun with this data visualisation.

Note: This is an alternative type of data visualisation, and sometimes pushed for by clients. Please always look at best practices for data visualisations before deploying this into production.

Version: This tutorial was created in Tableau Desktop 2019.2.

Data

Load the following data into Tableau Desktop / Public.

Note: The following is orders tab of the Tableau provided Sample – EU Superstore.xls

Calculated Fields

With our data set loaded into Tableau, we are going to create the following Calculated Fields:

Index

INDEX()-1

Random

RANDOM()

Note: RANDOM() is an undocumented function, so this should not be used for production reporting, but definitely for fun.

X

SIN(RADIANS([Index]))*[Random]

Y

COS(RADIANS([Index]))*[Random]

Yep, not too many Calculated Fields, but we will not build our worksheet.

Worksheet

We will now build our first worksheet:

  • Change the Mark Type to Circle.
  • Drag Category to Color.
  • Drag Product Name to Detail.
  • Drag Sales onto Size.
  • Drag X onto Columns.
    • Right-click on the object, go to Compute Using and Select Product Name.
  • Drag Y onto Rows.
    • Right-click on the object, go to Compute Using and Select Product Name.

If all goes well, you should end up with the following:

Now we will edit the cosmetics of your visualisation.

  • Hide the Grid Lines.
  • Hide the Zero Lines.
  • Hide the Y Axis Header.
  • Hide the X Axis Header.
  • Set the Color Transparency to 80%.
  • Give a White Outline.
  • Update the Tooltip.
  • Edit the Size.

You want to see the following:

Variation 1

Drag Category onto Columns, add some additional information to have the following:

Variation 2

Edit toe Random function to be:

RANDOM()+0.5

You should see the following:

Variation 3

Edit the Index function to be:

(INDEX()-1)%270

You should see the following:

Variation 4

Now we are just going to get silly…

Change Index to:

(INDEX()-1)%360

Change Random back to:

RANDOM()

Now we will update our visualisation:

  • Drag Index onto Column and drop it onto of X to replace.
    • Right-click on the object, go to Compute Using and select Product Name.
  • Drag X onto Rows and drop it onto of Y to replace.
    • Right-click on the object, go to Compute Using and select Product Name.

You should see the following:

Yep, we have put a Jitter Plot underneath a Sin Curve; fun huh… and with that, we are done with our Jitter plots. I really like this type of visualisation and will experiment further. You can find my version on Tableau Public here:
https://public.tableau.com/profile/toan.hoang#!/vizhome/CircularJitterPlot/CircularJitterPlot

Summary

I hope you all enjoyed this article as much as I enjoyed writing it and as always do share the love. Do let me know if you experienced any issues recreating this Visualisation, and as always, please leave a comment below or reach out to me on Twitter @Tableau_Magic.

7 COMMENTS

  1. Hi Toan,
    The Orders txt file contains many null values, I think data is not complete, could you please check and update me.

  2. For some reason, I am able to recreate what you’ve done using the same data source (EU Superstore), but if I try to do it using any other data source, I don’t get a nice circle shape.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.