Hi all,

Down the rabbit hole I go ever since being mind blown by a Workout Wednesday in Tableau.

You will know the one I’m on about. Week 20 from this year.

Truth be told, On the most part, I feel at a point that things that are released now in the community I can generally look at and think I could have a half decent go at replicating if needed. That being said, when this bathymetry lines came out as a challenge from Luke Stanke I was genuinely lost as how to approach it.

Long story short, we are fortunate enough to have individuals in the community that are kind enough to lend a hand in reverse engineering the workbook, and I leant heavily on the work of Donna Coles to be able to finally understand how the reference lines were working off the colour calculations. Donna is literally world class!! If you’d like to recreate the above do check out her blog here. I really like her use of the lookup function, and her design choices of doing fixed width bars.

Anyway, said visualisation made me start thinking about other types of tables. Today’s blog will be a thought piece on tables and the use of colour.

I’ll append the calculations needed to create one of the final tables at the end (they’re simple don’t worry), but by all means all my visuals are free to download from my Tableau Public.

Let’s start with this table using FBREF data on goalkeeper performance from this season.

I’ve always found the tough thing about heatmaps is the overlay of text marks. Here I have a 4 step ranked colouring.

In Tableau the labels on auto don’t render too well contrast wise in my eyes, as they sink into the page. I wish they were adjustable in a more flexible way. It becomes difficult when your lightest and darkest colours differ in shade values strongly.

Part of me started to think okay what if we lighten some of these values, but then add in some of the logic we’ve learnt from the bathymetrics reference lines.

I came up with this,

It started to feel like to me the narrative of what I was trying to show was changing. We’ve gone from showing how values vary amongst 20 teams to showing how they vary amongst the teams but also what is the maximum value of each column.

Two things stuck out to me… by trying to answer two questions in one am I really answering anything?

Do you feel overwhelmed looking at this visual?

I did slightly. Saying that, I did quite like the use of a lighter colour palette.

The rabbit hole continues.

Maybe I should just be looking at the maximum values of the different metrics. It could make for a cleaner visual and I can still use my new bordering technique I learnt from the Work out Wednesday.

I quite like this. It’s more subtle, it’s clear.

The main positive to doing something like this, is it feels a bit more old school reporting. You’d be able to put this in a report, or print it out and you wouldn’t have problems of box colour spill. (You wouldnt even have to print it in colour!)

But do we lose some of the attention to those maximum areas?

We can create separate calculations for the maximum boxes and add them. Now our values also lift off the page when we highlight the maximum using text colour. A minor upgrade!

But are we over complicating it?

Above left is block colour Tableau in its native form. Simply a colour encoding for the maximum values. It is intuitive, it draws attention and the message is clear. Maybe the reference lines aren’t needed at all.

Perhaps you may think the lighter blue version to the right works better, maybe a border isn’t needed at all, this could be the end to the rabbit hole.

But alas, Lets change the context of the visual one more time.

Currently we are only looking at the maximum value. Well if we consider the metrics maximum for some of them will be a positive thing, (e.g number of shots saved, number of wins) but for other the minimum would be a good indicator of success (number of losses, goals against)

Lets build that logic into our visualisation.

Above are my two ‘report print’ visuals using the logic I learnt from the Workout Wednesday.

& Here are the two more standard Tableau colourings you’d expect to see with Fill colour.

I’ll leave it to you all to decide when you may want to implement one solution over another, but I have thoroughly enjoyed thinking about colour contrast, shades, the offset of text colour against backgrounds as well as what context the visual will be used in, be it print, hosted on Tableau Server or elsewhere)

Finally for those that are wondering how the reference lines are created,

the calculations are below:

First we find the value of each metric that is the maximum.

{ Fixed [Pivot Field Names]: max([Pivot Field Values])}

Next we can create a colour boolean, if the value is equal to our maximum then assign it a 1.

if [Fixed Max] = [Pivot Field Values] then 1 else 0 END

Finally, both axis will want to add a reference line at 1, and another at -1 both horizontally and vertically here is the calculations.

IF [Colour] = 1 THEN 1 ELSE null END

The other is of course,

IF [Colour] = 1 THEN -1 ELSE null END

(It’s worth mentioning I made my boxes axis between -1 & 1 hence the above two calcs. These will vary depending what your box size is.

With this method it did need 4 reference lines.

That’s it for this week, Message me on Linkedin or Twitter if you have any questions – as always the resources can be found on Tableau Public.

I want to close out by saying thank you to Steve Wexler who replied fairly rapidly when I threw this idea past him the last few days – someone who does a spectacular job for keeping us honest to best practice when it comes to visualisation, and a viewpoint many of us respect in the community….without telling you his thoughts, I want to hear from you first, Which version works best in your eyes? Check the visual here.