As of 2019.2, Tableau now has the MakePoint and MakeLine Functions that makes this process a lot easier. I would recommend using the technique described in this tutorial only if you are using an older version. You can find my article on Tableau 2019.2 MakePoint and MakeLine HERE
I have not done enough work on Maps, but fear not, I plan to do a lot more in 2019. This tutorial will focus on drawing Arc Maps in Tableau and show a nice curve as opposed to straight lines between points. This should be a quick and fun read, so get ready and enjoy.
Note: As always never choose a data visualisation type and try to fit your data into it, instead, understand your data and choose the best visualization for your data consumers.
Data
Load the following data into Tableau Desktop / Public.
Flight | End Lat | End Long | Start Lat | Start Long | Path |
London-Berlin | 52.520007 | 13.404954 | 51.507351 | -0.127758 | 0 |
London-Berlin | 52.520007 | 13.404954 | 51.507351 | -0.127758 | 90 |
London-Dublin | 53.349805 | -6.26031 | 51.507351 | -0.127758 | 0 |
London-Dublin | 53.349805 | -6.26031 | 51.507351 | -0.127758 | 90 |
London-Madrid | 40.416775 | -3.70379 | 51.507351 | -0.127758 | 0 |
London-Madrid | 40.416775 | -3.70379 | 51.507351 | -0.127758 | 90 |
London-Milan | 45.465422 | 9.185924 | 51.507351 | -0.127758 | 0 |
London-Milan | 45.465422 | 9.185924 | 51.507351 | -0.127758 | 90 |
London-Paris | 48.856614 | 2.352222 | 51.507351 | -0.127758 | 0 |
London-Paris | 48.856614 | 2.352222 | 51.507351 | -0.127758 | 90 |
Calculated Fields
With our data set loaded into Tableau, we are going to create the following Calculated Fields:
Path (bin)
- Right-click on Path, go to Create and select Bin…
- Set New field name to Path (bin).
- Set Size of bins to 1.
- Click Ok.
Index
INDEX()-1
TC_Start Lat
WINDOW_MAX(MAX([Start Lat]))
TC_Start Long
WINDOW_MAX(MAX([Start Long]))
TC_End Lat
WINDOW_MAX(MAX([End Lat]))
TC_End Long
WINDOW_MAX(MAX([End Long]))
TC_Step Size Lat
([TC_End Lat]-[TC_Start Lat])/90
TC_Step Size Long
([TC_End Long]-[TC_Start Long])/90
TC_Latitude
([Index]*[TC_Step Size Lat])+[TC_Start Lat]+
SIN([Index]/29)
Right-click on the the object, go to Geographic Role and select Latitude.
TC_Longitude
[Index]*[TC_Step Size Long]
Right-click on the the object, go to Geographic Role and select Longitude.
Destination
TRIM( SPLIT( [Flight], "-", -1 ) )
Now that we have our Calculated Fields created, let us start creating our Worksheet.
Worksheet
We are going to build two worksheets and make them overlap each other. So to build our first worksheet:
- Drag TC_Longitude onto Columns.
- Drag TC_Latitude onto Rows.
- In Show Me, select Symbol Map.
- Change the Mark Type to Line.
- Drag Flight onto Color.
- Drag Destination onto Label.
- Drag Path (bin) onto Columns.
- Right-click on the object, ensure that Show Missing Values is checked.
- Drag this object onto .
- Right-click on TC_Longitude in Columns, go to Using and select Path (bin).
- Right-click on TC_Latitude in Rows, go to Using and select Path (bin).
If all goes well you should not see the following:
Now adjust the visualisation as you see fit, have some real fun with this, but when I published this the first time, I got the following:
and boom, we are done, there is a little hard coding in the Calculated Fields, so go back and tweak a bit to see what you get. But this is some cool stuff huh…
You can see and interact with my visualisation on Tableau Public at https://public.tableau.com/profile/toan.hoang#!/vizhome/ArcMaps/ArcMaps
Summary
I hope you all enjoyed this article as much as I enjoyed writing it, if so, please do share this article with fellow Tableau addicts and spread 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 want to learn more about Creating Bespoke Data Visualisations in Tableau, do check out our course on Udemy at https://www.udemy.com/creating-bespoke-data-visualisations-in-tableau and using the coupon code TMWEB2019