Visualization VocabularyDataviz vocabulary
Diagram: diverging bar chart
Drawing: Adrien Taudière (CC0)
ggplot2 example: diverging bar chart
Adrien Taudière (CC0); R code ↓; data: gapminder (Bryan 2025) (CC BY 4.0)

chart

diverging bar chart

also: diverging bar

Bars running up or down from a reference line according to sign.

diagramme en barres divergentes

aussi : barre divergente

Barres partant d'une ligne de référence vers le haut ou vers le bas selon le signe.

La ligne de référence est le plus souvent zéro, parfois une cible ou une moyenne de longue période.

Classification

Channels

Variants

Attestation

Scientific literature

OpenAlex: 21 papers since 2021, 76% in the last five years; mostly in Computer Science, Medicine, Agricultural and Biological Sciences

R packages

R code of the ggplot2 example

library(ggplot2)
library(dplyr)
library(gapminder)

## African countries of over 10 million people in 2007.
change <- gapminder |>
  filter(continent == "Africa") |>
  group_by(country) |>
  filter(pop[year == 2007] >= 1e7, year %in% c(1987, 2007)) |>
  summarise(change = diff(lifeExp)) |>
  mutate(country = reorder(sub("^Cote d'Ivoire$", "Côte d'Ivoire", as.character(country)), change),
         direction = ifelse(change < 0, "Fell", "Rose"))

## Each word goes past the longest bar of its side.
ends <- change |>
  group_by(direction) |>
  slice_max(abs(change), n = 1)

p <- ggplot(change, aes(x = change, y = country, fill = direction)) +
  geom_col(width = 0.75) +
  geom_vline(xintercept = 0, colour = "#535353", linewidth = 0.4) +
  geom_text(data = ends, aes(label = direction, colour = direction,
                             hjust = ifelse(change < 0, 1, 0)),
            nudge_x = ifelse(ends$change < 0, -0.5, 0.5), size = 3.2) +
  scale_x_continuous(labels = lex_number, expand = expansion(mult = 0.12)) +
  labs(title = "Life expectancy fell by over 4 years in 6 of 26 large African countries",
       subtitle = "Change from 1987 to 2007, countries with over 10 million people in 2007",
       x = "Change in life expectancy (years)", y = NULL,
       caption = "Data: Gapminder, via the gapminder R package") +
  theme_lex_viz(base_size = 8, grid = "x", arrows = "") +
  theme(legend.position = "none")

Sources (8)

20 occurrences in the corpus; indexed by 2 books

Cite this entry

Stable addresshttps://dataviz.adrientaudiere.com/en/term/diverging-bar-chart.html

ReferenceTaudière Adrien. 2026. diverging bar chart. In Visualization Vocabulary, version 1.0.0. IdEst. https://dataviz.adrientaudiere.com/en/term/diverging-bar-chart.html

BibTeX
@incollection{taudiere2026-diverging-bar-chart,
  author    = {Taudière, Adrien},
  title     = {diverging bar chart},
  booktitle = {Visualization Vocabulary},
  year      = {2026},
  version   = {1.0.0},
  publisher = {IdEst},
  url       = {https://dataviz.adrientaudiere.com/en/term/diverging-bar-chart.html},
  note      = {CC0 1.0}
}

Page created on 2026-10-13. Text last changed on 2026-11-12. Images last changed on 2026-11-12. Numbers computed on 2026-10-22.