Oct 062011


I’ve written a lot about this subject (see http://www.datarevelations.com/the-likert-question-question.html and http://www.datarevelations.com/a-little-more-on-likert-scale-questions.html) but some recent discussions with friends / colleagues Joe Mako and Naomi Robbins (along with some long plane rides to and from the Midwest) encouraged me to  see how difficult it would be to create a “staggered” Likert scale chart like the one shown below.

Actually, I came up with this approach several months ago but there were some “uglies” that I needed to work around.  Let’s look under the hood and see how this works and how to hide the “uglies”.

I’ve already addressed how to display the Likert score circles (which I love now more than ever) in a previous post so we’ll just focus on how to get the colored bars with emphasis on how to get the positive attributes to the right of the zero, the negative attributes to the left, and how to split the neutrals.

Measure Names

Formula for Dark Blue and Dark Orange Bars

Here’s the underlying formula for determining the number of responses that were Excellent.

This is pretty straightforward; just take the number of records where the score was 5 (Excellent) and divide by the total number of responses.

Here’s the formula for determining the number of responses that were Poor.

Same idea as before, but this time we add up all the “Poor” responses and make them negative.

Splitting the Neutrals

I’ve always preferred even-numbered Likert scale questions as you force people to take a stand as respondents cannot take the exact middle ground.

Not so with odd-numbered Likert scale questions, so we need to take all the neutrals and make half of them positive and half of them negative, as we do here:

It’s the same concept as with the Excellent / Poor responses but we divide by twice as many total responses to split the difference.

Dealing with the “Uglies”

There are at least three things that would prevent me from publishing this in its current form.

1)      Too many items in the legend.

(The “neutrals” are broken up into two groups.)

2)      Weird ordering of the legend.  To get the bars to stack properly I had to order the items in the legend as shown above.  Ugly.

3)      Color highlighting does not display amounts the way I would like.

This is the results of clicking S_Percent_Average_Neg in the color legend.  I only see half the neutrals and I see negative numbers.

The Hack (I mean “Solution”)

So, how can I display the values for each color bar and have a legend that does what I need it to do?

I “cheated” with the legend and am just using a static graphic, specifically, a screen shot of how I would like the legend to appear.  Go ahead and wrap your knuckles in it – It’s hollow.

As for allowing people to see the underlying values, I just applied “Cotgreavean” tool tip bars, as shown here.

So, I do wish I could just select all the neutrals and see their values, but I’m satisfied with this approach and like that the offsets help convey the positive / negative sentiment.

Please download and if you come up with a nicer way to handle the legend, I’d love to see it.


[suffusion-the-author display='description']
 Posted by on October 6, 2011 2) Visualizing Survey Data, Blog  Add comments

  12 Responses to “Likert Scale Nirvana”

Comments (12)
  1. Steve,

    I’ll be showing another way to produce these charts in Tableau at the tips and tricks session of the Tableau Customer Conference. I call them diverging stacked bar charts.  I think I showed it to you at the NY Tableau Users Group. I don’t include the means since I’m not sure that they have any meaning. The distance in a Likert scale between “strongly agree” and “agree” need not be the same as the distance between “agree” and “neutral.” Also, one person’s agree might represent stronger agreement than another person’s “strongly agree.” Some people avoid endpoints on a scale like this while others speak in superlatives. Therefore, I think that the quantity of interest is the total percent who are positive and the total percent who are negative. By the way, the legend is no problem with my approach.

    • Naomi,

      Joe has a great solution that I’ll post and be blogging about later today.

      As for the means, if you don’t like ’em, don’t use ’em. I like them very much for various reasons:

      1) If you add another dimension into the mix — time — it becomes almost impossible too see how sentiment has changed over time. Imagine if we wanted to see how responses to the same set of questions changed over time (e.g, you have four years’ worth of responses to compare)?

      2) While Rensis Likert did in fact apply numeric values to each of the possible responses and uses scores, he had fixes response possibilities (1=Poor, 2=Fair, etc.). Suppose we instead had a sliding scale? That is, you presented survey respondents with a nice slider bar they could drag lef and right?

      3) It’s easy to parametrize the choices and not have a linear scale, if that’s what you think is warranted.

      BTW, is there a link where people can download the workbook that uses your approach? I’d be happy to link to it.


  2. To resolve your “Uglies”, all you need is a custom table calc and a Gantt bar instead of all your individual calculated fields. 

    see http://public.tableausoftware.com/views/DataRevelations_StaggeredLikert_wScoresganttbars/StaggeredBarsLikertValuesCombo for my edits

    I did not add back in the  “Cotgreavean” tool tip bars

    I much prefer less calculated fields and less pills. 

  3. Joe’s suggestion sounds similar to what I’m presenting. I didn’t give details since I was saving it for our tips and tricks session. I’ll be happy to give you a link or a copy of the workbook at the conference. I’d really rather use my time to talk about why I prefer diverging stacked bar charts (staggered bar charts) to other methods of showing these data but Tableau preferred the “how to” rather than the “why to.”

    • Naomi,

      I think the “why” is answered as soon as you see your approach. I think it’s a really good way to present sentiment; that is, the moment I saw this I went “ah, that’s so cool!” (in essence you had me at “hello”). I now want to see how one goes about building this. BTW, Joe hipped me to some various forum posts from four and five years ago that presented this approach. See http://sfew.websitetoolbox.com/post?id=2170917 and scroll down a bit.


  4. I like both the “how to” and the “why to”.

    • Jock,

      Joe has a really good everything-you-could want approach to this that I hope to post and blog about today. I’m suffering with what may be a pinched nerve and haven’t been able to work at the computer!


  5. Brinton used these charts in his 1939 book “Graphic Presentation”, calling them bilateral bar charts. His examples are not of Likert scales. Brinton’s examples come from other sources so this was not the first use of these charts. Thanks to Nick Cox for sharing some of the early uses of diverging stacked bar charts.

    My objection to the examples in the link you provided is that the space between the positives and the negatives make the “no opinions” look like two groups. They are not. There is one “no opinion group.” Therefore, it is important that there is no space splitting that group and that any reference line at zero go behind the bars.

  6. Jock,

    Then I need more time :)

  7. Folks,

    I’ve posted another blog on this subject that I hope puts a nice coda on all this.



  8. Steve,

    I love this approach to visualizing Likert-style survey questions and have used it on many occasions since coming across this post and working through it in your workshop!

    I’m wondering how to take it a step further to show one group member’s responses to the whole, with both the individual group member and the aggregate group’s responses displayed simultaneously (individual group member’s divergent stacked bar above the aggregate group’s bar).

    For example, say we focus on one question item (‘Works well with others’) and want to see (using the Generation demographic) Traditionalists’ divergent stacked bar results and the aggregate’s divergent stacked bar results for all Generation categories simultaneously to quickly compare the part to the whole.

    I’m asking because, coming from the university setting, I’d like to deliver academic advisor evaluation results in this way. I think my stakeholders will be excited to see their original tabulated results (yuck) transformed into this visual approach. I’m stuck on how to achieve this display though, as I’m not sure how to show the individual compared to the group. I tried creating a Set, but that didn’t work because it separated Advisor A from the rest of the group, and I want them to be included in the overall group too, just shown individually for easy comparison. I’m thinking I’ll need to represent the Advisor dimension as two different dimensions – one that can be filtered to a specific Advisor and one that represents the group aggregate. There must be a simple solution to creating these two variables, but I’m not seeing it.

    Grateful as always for your insight,

Leave a Reply to Jock Mackinlay Cancel reply