The first Viz I’ve published on Tableau Public, Pokémon: A Guide to Beginners, was a great, and unexpected, success.
I have created this Viz in order to apply to the Information Lab’s Data School programme.
The viz was awarded the title of Viz of the day. Due to this, the work reached over 14.000 visualisations.
In this post, I would like to describe the first step of the Data School application process, focusing on the techniques I have used to build such a successful Viz, which guaranteed me the access to the next stage of the process.
Before the Viz
Before starting to work on my application Viz I had a very little knowledge of Tableau. I, therefore, allocated some time to explore the resources available on www.tableau.com/learn. Starting with the free training videos.
I have spent around two weeks watching and replicate training videos with Tableau on my PC. Youtube offer a substantial amount of training videos, from begginner to expert user level.
Searching for datasets
There are lots of datasets available online. Resources such as #makeovermonday, #workoutwednesday, data.world, data.gov.uk offer a wide range of free dataset which can be used for your Tableau project. The number of resources can be overwhelming, making difficult the selection of the ideal dataset.
During the first Data School meet and greet event I participated it was suggested to pick a dataset which treated a topic of personal interest, to make more enjoyable the process of creating a viz. I listened to the suggestion and searched for something I had extensive knowledge about. I first started to search dataset regarding the hospitality industry, my field of study at university, but eventually discarded the idea when I came across the Pokémon dataset on https://public.tableau.com/en-us/s/resources .
This dataset contains the creatures name, number, type and 6 statistical attributes. This immediately made me think that this material could be ideal to create a viz with multiple types of visualisations embedded within. This fact united to my extensive knowledge of the original Pokémon games, made me decide to base my application process on this dataset.
Working with this dataset was a great advantage for me. It helped me focus on learning how to use Tableau, without the need to question the correctness of the data. I do suggest using a topic which you master to gain the same advantage.
Data Preparation
Often datasets downloaded from the web are not in the ideal format to be processed by Tableau. I, for instance, had to apply some changes before starting to build my viz. The Pokémon dataset contained data for over 800 species, developed across 7 iterations of the game. My viz was based on the first game only, so I simply eliminated these unnecessary fields. I have carried out this process using Tableau Prep, a tool available with my free student licence.
Developing different views
Building this amount of detailed visualisation took time and effort. I started by creating simple visualisations to understand which ones could be suited for the dashboard I had in mind. In this section I will show examples of early-stage work, explaining how I then developed them to the final version.
Compare the Pokémon!
Development
The first draft of the Pokémon comparison section looked like this. A simple bar chart which showed all Pokémon stats at once. Duplicating this sheet allowed me to create a dashboard in which it was possible to compare 2 Pokémon.
Despite the evident flaws in this dashboard (too colourful, inability to synchronize the axis) I thought that a comparison section would have looked great in the final Viz, hence I started to develop details.
The most important improvement during the developing of this sheet was the ability to display the 2 Pokémon selected on a single sheet. In order to do this, I had to create several T/F calculations that would display only the 2 Pokémon specified in the parameters. This changed allowed to compare the statistics of 2 Pokémon using the same Y-axis range, resulting in a much more accurate final work.
Furthermore, I have applied the same colour to all the bars, using the Pokémon brand palette. The detail of the pokéballs on top of the bars was done using a dual axis chart, one with a bar and the other with a pokéball used as a custom shape.
The final view
In the final version of the viz, I added many graphical elements to the previous bar chart. On the sides of the chart, there are the 2 parameters which control the 2 Pokémon visualised. These parameters also display a picture of the Pokémon (obtained using custom shapes) and their description.
Another interactive function added is the ability to switch the bar chart from multi-statistic to single statistic view, functionality obtained using a parameter
Find the best… Or the worst!
The section of the viz which shows best and worst Pokémon by selected parameters was composed by several different sheets.
Development
The 2 parts showing the Pokémon pictures were made using custom shapes plotted on a chart sorted by a selected statistic. The number of Pokémon shown has been capped to 5 using a Top and Bottom filter. I then removed the Y-axis to maintain all the pictures on the same level.
Since only 10 pokemon out of 151 are displayed on the screen in this view I spent some time to find a way to display them all, without cluttering the visualisation too much. My solution was to create a funnel chart based on the value of the statistic selected which would display the picture of the Pokémon in the tooltip.
This detail was obtained using the function Viz-in-tooltip, which allows displaying an entire sheet inside a tooltip of a different sheet.
The same technique was used for the tooltip appearing when hovering onto one of the Pokémon pictures, showing all its statistics using horizontal bar charts.
The final view
That’s how these 3 sheets were distributed in the dashboard. The statistic and type parameters are used as a filter for the funnel chart as well. The previously mentioned viz-in-tooltip capabilities enhanced the level of interactivity of this view.
Pokémon Types
This view shows the chart that that display the strength and weaknesses of Pokémon types, and it was fairly easy to make.
Development
I created a chart with the two Pokémon types field as axis and used the multiplier to colour and size of the pokéball (custom shapes).
The difficult part consisted of adding the data (which were stored on a different CSV file). I tried many times to join this file to the original one, failing every time. At the time I did not understand that dataset with such different fields should not be joined. The solution was to add this dataset without using a join. This technique does not allow to use the imported data in sheets based on the original dataset, although it allows creating a visualisation using the fields in the new dataset only.
The tooltips are formatted using conditional fields which change the text colour based on the element selected.
The final view
The final version just needed some little tweaks. The colours have been adapted to the red background, and a highlight filter action was added.
The Journey
The map section of the Viz is my favourite part of the work. I believe it is a great example to display Tableau interactive abilities.
Development
To create this sheet, I had to create a new dataset using excel.
As visible from the picture this dataset contains the field X and Y, which determines the position of the cities on the map. This data needs to be manually entered. But how to determine these points?
There is a Tableau functionality that can help us achieve that.
At the beginning of my work, all rows of the X and Y columns were set to 0. Then using the function map – background image I added the image which I previously downloaded.
When selecting the picture, it is necessary to set the value range for the X and Y axis. These values are determined from the picture’s width and height number of pixels. (e.g for a 1280 x 720 picture the X-axis range goes from 0 to 1280 and the Y from 0 to 720)
Once inserted the map you can start to obtain the cities X and Y values to be inserted in the excel spreadsheet. To do so simply right-click on the point of the map you want to associate to a particular city and press Annotate—Point.
Then transcribe these numbers to the excel spreadsheet. Apply the same technique for all the cities on the map will allow plotting these points using Tableau.
The field journey walkthrough in the excel file is necessary to show the character progression through the map. This field is a simple progression of number, in which 1 is the starting point and 11 is the end. This was then utilised as a scroller-controlled parameter, in conjunction with a T/F filter.
This sheet also includes extensive use of the function Viz-in-tooltip. All the walkthrough texts and Pokémon information were originally displayed on several different sheets and visualised together using the tooltip function.
The final view
The final view shows the game’s map and a scroller above. Using this will allow to see the character progression in the game’s plot. The tooltip shows a brief description of the city as well as information about the Pokémon to expect, obtained using custom shapes.
Assembling the dashboard
After testing and polishing all the sheets previously treated, I started to develop my dashboard layout. To do so I draw a sketch on paper. I really do suggest this method because it helps to find the right disposition of your dashboard element without the need to actually building one in Tableau. This exercise really helped me to organise the different sheets and to give an overall sense of progression through the Viz.
I built the whole washboard using floating objects. After some extensive practice with Tableau I can suggest to not follow my example. The use of floating object requires to manually size and position every single component of the dashboard. I spent hours manually adjusting every item on the dashboard.
I instead to suggest the technique used by Andy Kriebel in this video. I used it for another project and it really cut down the time spent in manual adjustments.
That’s how I built this Viz. It has been a great challenge for me, but the outcome gave me the confidence to progress to the next stage of The Information Lab recruitment selection. If you are developing your own project and are curious about the functioning of this Viz, I invite you to download and reverse-engineer this work from https://public.tableau.com/views/PokmonAGuideforBeginners_/PokmonGuide?:embed=y&:display_count=yes
Please contact me if you’d like further explanation or just to leave a feedback!
Alessandro Costanzo