Charts & Visual Data
Diverging Likert Stacked Bar Chart Formula: Neutral Midpoint Split & Padding Spacer
Align 5-point Likert survey responses around a vertical zero spine on a 100% Stacked Bar Chart by splitting Neutral responses in half and computing each row’s exact left-padding spacer.
Align survey disagreement left and agreement right around a shared center spine!
Plotting 5-point Likert survey questions (Strongly Disagree, Disagree, Neutral, Agree, Strongly Agree) on a standard 100% Stacked Bar Chart buries sentiment shifts because every bar starts at 0% on the left! Robbins & Heiberger’s Diverging Stacked Bar standard splits Neutral (B4) into two equal halves (B4 / 2 left of the spine, B4 / 2 right of the spine) so the left-of-center mass is L_i = B2 + B3 + B4 / 2.
Setting a chart-wide anchor M = B7 (e.g., 0.50 or MAX_i(L_i)), each row’s invisible Left_Padding_Spacer = M - (B2 + B3 + B4 / 2) locks every Neutral midpoint onto one crisp vertical axis at X = M!
| Likert Bucket (Question 1) | Response Share | Diverging Stacked Placement (Spine at 50%) |
|---|---|---|
| Invisible Left Spacer | 15.0% (0.15) | 0.0% -> 15.0% (No Fill) |
| Strongly Disagree (8%) + Disagree (17%) | 25.0% (0.25) | 15.0% -> 40.0% (Left of Neutral) |
| Neutral Split (20% = 10% + 10%) | 20.0% (0.20) | 40.0% -> 50.0% Spine -> 60.0% |
| Agree (35%) + Strongly Agree (20%) | 55.0% (0.55) | 60.0% -> 115.0% (Net Favorability = +30.0 pts) |
Invisible Left-Padding Spacer Aligning Neutral Midpoint to Spine B7
Offsets row i by B7 - (Strongly_Disagree + Disagree + Neutral/2) while verifying proportions sum to 1.00.
=IF(OR(ABS(SUM(B2:B6) - 1) > 0.001, B7 < B2 + B3 + B4 / 2), "Invalid Shares or Increase Spine Anchor B7", ROUND(B7 - (B2 + B3 + B4 / 2), 4))Net Top-2 Minus Bottom-2 Favorability Score (Percentage Points)
Computes 100 * ((Agree + Strongly_Agree) - (Strongly_Disagree + Disagree)).
=ROUND(100 * ((B5 + B6) - (B2 + B3)), 2)Try the example
Use the original values or change them to test your understanding.