Monday, September 19, 2016

#TweakThursday 17: Highlighting One Among 50 Shades of Grey

An alternative title could be "Highlighting without Ignoring the Rest of the Pack".

In a recent viz of the day, one member was highlighted against the rest. The rest was painted with the same grey color.
That doesn't show the rest of different players, which I found was not satisfactory. I felt that we still need to show that those are distinct players. I ended up by hand tuning the colors to make them in different shades of grey. The highlight of the chart remains intact.
I have been thinking about a systematic approach for solving such a problem:
- Highlight one member in a bright color
- Make the rest of the pack in a gradient color scheme.
- When not selected, that member fits into the gradient according to the sorting.

So I came up with a solution recently when working on another project. Again, I will use the superstore dataset where one of the sub categories is highlighted and the rest is in a gradient color scheme. The selected one can be dynamic. Below is the result. Click the image to view the interactive version.
To create the above, follow the steps below:
- Create a parameter [Sub Category] with the list of subcategories
- Create a calc field "Legend" which contains only [Product Sub Category]
- Drag Legend to the Color shelf. Sort it the way you like. Now the color shelf will populate and memorize the colors for every sub category name.
- Open color editor and find a gradient color palette (Grey Warm here). Assign it to Legend members. If based on Sum(Sales), the resulting color palette look like a continuous color. But it is still discrete.
- Change the underlying formula of Legend as follows:
- Open the color editor and assign a new color (Orange here) to 'True'. This way Tableau knows there are CountD([Product Sub Category])+1 colors in the chart. 17+1 colors in this specific case.

Note that "Legend" might affect your chart structure because it's a new dimension. If so, use ATTR(Legend) instead in the color shelf.

Now we are done!

No comments:

Post a Comment