There have been a lot of requests to create this tutorial, especially with the upcoming elections, yep, I am starting to get excited about the election season. As such, here is our Tableau tutorial for creating an Election Circle Chart in Tableau.

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 into production.

## Data

Note: this data set was taken from the following repository: https://github.com/CivilServiceUSA/us-senate

## Calculated Fields

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

Depth Parameter

• Set Data type to Integer.
• Set Current value to 5.
• Set Allowable values to Range.
• Set Minimum to 2.
• Set Maximum to 7.

Dimension Parameter

• Set Data type to String.
• Set Current value to By Party.
• Set Allowable values to List.
• Create the following entries:
• Value to party, and the Display As to By Party.
• Value to gender, and the Display As to By Gender.

Distance from Center Parameter

• Set Data type to Integer.
• Set Current value to 3.
• Set Allowable values to Range.
• Set Minimum to 1.
• Set Maximum to 7.

Metric Parameter

• Set Data type to String.
• Set Current value to Time in Office.
• Set Allowable values to List.
• Create the following entries:
• Value to age, and the Display As to Senator Age.
• Value to tio, and the Display As to Time in Office.

Index

``(INDEX()-1)``

Age

``DATEDIFF('year', [Date Of Birth], TODAY())``

Distance

``([Index]%[Depth Parameter])+[Distance from Center Parameter]``

Number of Items

``{FIXED : COUNTD([Name]) }``

Multiplier

``180/(MAX([Number of Items])/[Depth Parameter]-1)``

Item

``````IF ([Index]%[Depth]) < [Depth]/2 THEN
ROUND([Index]/[Depth],0)
ELSE
ROUND([Index]/[Depth],0)-1
END
* [Multiplier]``````

Years in Office

``DATEDIFF('year', [Entered Office], TODAY())``

Size

``````IF [Metric Parameter] = "age" THEN
[Age]
ELSE
[Years in Office]
END``````

Color

``````If [Dimension Parameter] = "party" THEN
[Party]
ELSE
[Gender]
END``````

X

``COS(RADIANS([Item]))*[Distance]``

Y

``SIN(RADIANS([Item]))*[Distance]``

So now that we have created a lot of Calculated fields, we will now put this together into a Worksheet.

## Worksheet

We will now build our worksheet:

• Change the Mark Type to Circle.
• Drag Color onto the Color Mark.
• Drag Party onto Detail.
• Drag Name onto Detail.
• Drag X to Columns.
• Right-click on this object and select Edit Table Calculation.
• In Compute Using select Specific Dimensions.
• Check Color, Name and Party; ensure that Color is on the Top, and Party is on the Bottom.
• In Sort order select Custom.
• Set the Dimension to Color and select Maximum.
• Drag Y to Rows.
• Right-click on this object and select Edit Table Calculation.
• In Compute Using select Specific Dimensions.
• Check Color, Name and Party; ensure that Color is on the Top, and Party is on the Bottom.
• In Sort order select Custom.
• Set the Dimension to Color and select Maximum.

If all goes well, you should see the following:

Have a little fun and explore the various parameters to see what happens. Now we will adjust the cosmetics:

• Hide Grid Lines.
• Hide Zero Lines.
• Edit the Colors.

You should now see the following:

and boom we are done, this technique can be applied to various scenarios beyond an election circle. You can find my version of this visualisation on Tableau Public at
https://public.tableau.com/profile/toan.hoang#!/vizhome/ElectionCircle/ElectionCircle

## 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.

If you like our work, do consider supporting us on Patreon, and for supporting us, we will give you early access to tutorials, exclusive videos, as well as access to current and future courses on Udemy:

Also, do be sure to check out our various courses:

Toan Hoang, Tableau Zen Master 2020, has over 15 years of experience in Business Intelligence, Data Management, Big Data, Data Lakes, Internet of Things (IoT), Data Visualisation and the Data Analytics space; the last six years has been dedicated to delivering end-to-end solutions using Tableau.

1. Hi Toan,
A very unique article in term of visualization.
I have been struggling on some points.
1. I am unable to find the calculation “Item”, you have created “Number of Items” fields, both are same or different ?
2. I used “Numbers of Item” instead of “item” but “X” formula create aggregate non-aggregate issue.
3. And what is the calculation type ?
Thanks

2. Thanks for sharing Toan,

I have one doubt. For calculation Item, are you referring Depth as Depth Parameter?

IF ([Index]%[Depth]) < [Depth]/2 THEN
ROUND([Index]/[Depth],0)
ELSE
ROUND([Index]/[Depth],0)-1
END
* [Multiplier]

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