AE 15: Diverging bar charts for survey data

Suggested answers

Application exercise
Answers
Modified

March 19, 2026

We have seen four primary methods for constructing diverging bar charts for survey data.

  1. Stacked bar charts: all responses are plotted in a single bar, with negative responses on the left and positive responses on the right. Neutral responses are included in the middle of the bar.
  2. Diverging, with extra neutrals: negative and positive responses are plotted in separate bars on either side of the origin, with neutral responses in a distinct, separate subplot.
  3. Diverging, integrated neutrals: negative and positive responses are plotted in separate bars on either side of the origin, but neutral responses are centered around the origin.
  4. Split bars: each response category is plotted in a separate facet, with negative responses on the left and positive responses on the right. Neutral responses are plotted in their own facet in the middle.
(a) Stacked bar charts
(b) Diverging, with extra neutrals
(c) Diverging, integrated neutrals
(d) Split bars
Figure 1: An example of each of the four methods for plotting diverging bar charts for survey data.

Your turn: Evaluate each of the four methods for plotting diverging bar charts, specifically identifying how it enables (or does not) specific tasks.

  Stacked bar charts Diverging, with extra neutrals Diverging, integrated neutrals Split bars How important do we think it is?
Read percentage of values of     and     👍 👍 👎 👎 Very important
Read percentage of values of     👍 👎 👎 👍 Important
Read percentage of values of     👎 👍 👎 👍 Important
Read percentage of values of     👎 👍 👎 👍 Not important
Read percentage of values of     👎 👍 👎 👍 Important
Read percentage of values of     👍 (with double axis) 👎 👎 👍 Important
Read percentage of values of     and     👍 (with double axis) 👍 👎 👎 Very important

Acknowledgments

─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.5.2 (2025-10-31)
 os       macOS Tahoe 26.3.1
 system   aarch64, darwin20
 ui       X11
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       America/New_York
 date     2026-03-19
 pandoc   3.4 @ /usr/local/bin/ (via rmarkdown)
 quarto   1.9.35 @ /usr/local/bin/quarto

─ Packages ───────────────────────────────────────────────────────────────────
 ! package      * version date (UTC) lib source
 P bit            4.6.0   2025-03-06 [?] RSPM (R 4.5.0)
 P bit64          4.6.0-1 2025-01-16 [?] RSPM (R 4.5.0)
 P brand.yml      0.1.0   2025-11-06 [?] RSPM
 P cli            3.6.5   2025-04-23 [?] RSPM (R 4.5.0)
 P colorspace   * 2.1-2   2025-09-22 [?] RSPM
 P crayon         1.5.3   2024-06-20 [?] RSPM (R 4.5.0)
 P digest         0.6.39  2025-11-19 [?] RSPM (R 4.5.0)
 P dplyr        * 1.2.0   2026-02-03 [?] RSPM
 P evaluate       1.0.5   2025-08-27 [?] RSPM (R 4.5.0)
 P farver         2.1.2   2024-05-13 [?] RSPM (R 4.5.0)
 P fastmap        1.2.0   2024-05-15 [?] RSPM (R 4.5.0)
 P forcats      * 1.0.1   2025-09-25 [?] RSPM (R 4.5.0)
 P generics       0.1.4   2025-05-09 [?] RSPM (R 4.5.0)
 P ggplot2      * 4.0.1   2025-11-14 [?] RSPM (R 4.5.0)
 P glue           1.8.0   2024-09-30 [?] RSPM (R 4.5.0)
 P gtable         0.3.6   2024-10-25 [?] RSPM (R 4.5.0)
 P here         * 1.0.2   2025-09-15 [?] CRAN (R 4.5.0)
 P hms            1.1.4   2025-10-17 [?] RSPM (R 4.5.0)
 P htmltools      0.5.9   2025-12-04 [?] RSPM (R 4.5.0)
 P htmlwidgets    1.6.4   2023-12-06 [?] RSPM (R 4.5.0)
 P jsonlite       2.0.0   2025-03-27 [?] RSPM (R 4.5.0)
 P knitr          1.51    2025-12-20 [?] RSPM (R 4.5.0)
 P labeling       0.4.3   2023-08-29 [?] RSPM (R 4.5.0)
 P lifecycle      1.0.5   2026-01-08 [?] RSPM (R 4.5.0)
 P lubridate    * 1.9.4   2024-12-08 [?] RSPM (R 4.5.0)
 P magrittr       2.0.4   2025-09-12 [?] RSPM (R 4.5.0)
 P otel           0.2.0   2025-08-29 [?] RSPM (R 4.5.0)
 P patchwork    * 1.3.2   2025-08-25 [?] RSPM
 P pillar         1.11.1  2025-09-17 [?] RSPM (R 4.5.0)
 P pkgconfig      2.0.3   2019-09-22 [?] RSPM (R 4.5.0)
 P png            0.1-8   2022-11-29 [?] RSPM (R 4.5.0)
 P prismatic      1.1.2   2024-04-10 [?] RSPM
 P purrr        * 1.2.0   2025-11-04 [?] CRAN (R 4.5.0)
 P R6             2.6.1   2025-02-15 [?] RSPM (R 4.5.0)
 P RColorBrewer   1.1-3   2022-04-03 [?] RSPM (R 4.5.0)
 P readr        * 2.1.6   2025-11-14 [?] RSPM (R 4.5.0)
 P renv           1.1.7   2026-01-27 [?] RSPM
 P rJava          1.0-11  2024-01-26 [?] CRAN (R 4.5.0)
 P rlang          1.1.7   2026-01-09 [?] RSPM (R 4.5.0)
 P rmarkdown      2.30    2025-09-28 [?] RSPM (R 4.5.0)
 P rprojroot      2.1.1   2025-08-26 [?] RSPM (R 4.5.0)
 P S7             0.2.1   2025-11-14 [?] RSPM (R 4.5.0)
 P scales       * 1.4.0   2025-04-24 [?] RSPM (R 4.5.0)
 P sessioninfo    1.2.3   2025-02-05 [?] RSPM (R 4.5.0)
 P stringi        1.8.7   2025-03-27 [?] RSPM (R 4.5.0)
 P stringr      * 1.6.0   2025-11-04 [?] RSPM (R 4.5.0)
 P tabulapdf    * 1.0.5-5 2024-11-15 [?] CRAN (R 4.5.0)
 P tibble       * 3.3.0   2025-06-08 [?] RSPM (R 4.5.0)
 P tidyr        * 1.3.2   2025-12-19 [?] RSPM (R 4.5.0)
 P tidyselect     1.2.1   2024-03-11 [?] RSPM (R 4.5.0)
 P tidyverse    * 2.0.0   2023-02-22 [?] RSPM (R 4.5.0)
 P timechange     0.3.0   2024-01-18 [?] RSPM (R 4.5.0)
 P tzdb           0.5.0   2025-03-15 [?] RSPM (R 4.5.0)
 P vctrs          0.7.1   2026-01-23 [?] RSPM
 P vroom          1.6.7   2025-11-28 [?] RSPM (R 4.5.0)
 P withr          3.0.2   2024-10-28 [?] RSPM (R 4.5.0)
 P xfun           0.55    2025-12-16 [?] CRAN (R 4.5.2)
 P yaml           2.3.12  2025-12-10 [?] RSPM (R 4.5.0)

 [1] /Users/bcs88/Projects/info-3312/course-site/renv/library/macos/R-4.5/aarch64-apple-darwin20
 [2] /Users/bcs88/Library/Caches/org.R-project.R/R/renv/sandbox/macos/R-4.5/aarch64-apple-darwin20/4cd76b74

 * ── Packages attached to the search path.
 P ── Loaded and on-disk path mismatch.

──────────────────────────────────────────────────────────────────────────────