A recent post by James Eichinger inquired about the best practices of manipulating color values because his viz is swamped by high intensity colors. A solution is mentioned by David Walp and Joshua Miligan as logarithmic transformation:
  • Use natural logarithm LN([Measure]) for coloring, instead of [Measure].
Joshua even had a great article about its use in mapping.

Here is an example I produced using the Superstore data to visualize sales by city. You can notice the stark difference between the two coloring schemes. The workbook can be found here.
This reminds me of the human perception theory that we see things in a logarithmic way. The earliest scientific discovery regarding this topic is by Greek astronomer Hipparchus, some 2000 years ago when studying the relationship between star brightness and human perception. In the 19th century, a formal theory is created as Weber-Fechner Law.

From Wikipedia:

"The law states that the just-noticeable difference between two stimuli, is proportional to the magnitude of the stimuli, (and the subject's sensitivity), i.e. if you sense a change in weight of .5 lbs on a 5 pound dumbbell, you ought to feel the extra pound added to a 10 pound dumbbell."

That is, the human sensation/perception difference âˆ†P to weight W or to any external stimulus is proportional to âˆ†W/W instead of to âˆ†W, namely,
  • ∆P=K(∆W/W)
Through integration we get
  • P=K*LnW + C
K and C being constants.

There are more recent articles on this ever-fascinating topic in Quora, Huffington Post and IEEE Spectrum.

In star gazing, the stellar brightness is attenuated logarithmically by the sheer distance. It's the same for sound during its propagation. For data visualization, it happens on computer screen which is very close to our eyes. The force of nature does very little to attenuate the screen light. My postulation in this case is that we see light intensity as it is, much in a linear way, rather than logarithmic. To mimic the force of nature for the best human perception, we can mathematically transform the color intensity by ln().

It applies best when there is a wide range of color intensities, in which case low intensity colors tend to be obscured by high intensity counterparts if we linearly scale the color. By applying the logarithmic transformation, we curbed the high intensity and see more low intensity colors. It gives us more insights into the shade, at the expense of non-differentiation of high intensity colors.

It is a great tool with limitations. My suggestion is, use it with care and without misleading viewers by labeling clearly.

BTW, I proposed an idea to Tableau to include logarithmic transformation as an option in color editor. Please vote it up if you like it.
PS. Perception is everything, except being linear. It is logarithmic.
0

Add a comment

(Refresh the page if you want to view the gif image multiple times. Or go to Tableau Public and click the button at the top-right corner.)

Jake and I collaborated on a dashboard. He told me that he learnt a way to create an in-place help page in Tableau. He first saw it at a conference somewhere and couldn't recall who the speaker was. So I am blogging here about it but the credit goes to somebody else. If anyone knows who the original creator is, leave a comment below.

The key idea is to float a semi transparent worksheet on top of the dashboard, where a help text box is strategically placed on top of each chart. This way, we can explain how to view each chart and what data points are important, etc. This worksheet is collapsible by a show/hide button. 

Below I would like to show how this worksheet can be constructed.

1. Sheet with a single data mark.

  • Double click the empty space in Marks panel and add two single quotes. Make the null pill a text label. This creates a single null mark.
  • Set the view as "Entire View"

2. Create an show/hide button

  • Go to the target dashboard
  • Drag a floating vertical container to the dashboard, making it cover all the area of interest.
  • Drag the Single Null Mark sheet and drop it into the above container. Hide the sheet title.
  • Create an open/close button for the container and place the button at the top-right corner.

3. Add annotations

  • Format the sheet background opacity as 70% in the layout manager             
  • Select area annotations and place them anywhere of interest. 
  • Write help text and format it to highlight important messages.  
  • The text can serve as functional guide and/or insight guide.

Here is an example. Feel free to download the workbook and explore. Click the "i" button at the top-right corner to view the in-place help. 

0

Add a comment

Blog Archive
Loading
Dynamic Views theme. Powered by Blogger. Report Abuse.