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

chart

circle packing

also: packed circles, circular treemap

Hierarchy shown as nested circles.

ensemble de cercles

aussi : empilement de cercles

Hiérarchie représentée par des cercles emboîtés.

Classification

  • chart
  • sectors, tilings and units › tilings
  • part-to-whole
  • the name evokes: nature

Channels

Attestation

Scientific literature

OpenAlex: 225 papers since 1993, 28% in the last five years; mostly in Computer Science; Wikidata

Seminal references

R packages

R code of the ggplot2 example

library(ggplot2)
library(dplyr)
library(gapminder)
library(ggraph)
library(tidygraph)

## A three-level tree: the world, its continents, their countries.
countries <- gapminder |>
  filter(year == 2007) |>
  transmute(name = as.character(country), continent, pop) |>
  arrange(continent, desc(pop))
nodes <- bind_rows(tibble(name = "World", pop = 0),
                   tibble(name = levels(countries$continent), continent = levels(countries$continent), pop = 0),
                   countries)
edges <- bind_rows(tibble(from = "World", to = levels(countries$continent)),
                   tibble(from = as.character(countries$continent), to = countries$name))
world <- tbl_graph(nodes = nodes, edges = edges, node_key = "name")

## Countries of over 200 million people are named.
p <- ggraph(world, layout = "circlepack", weight = pop) +
  geom_node_circle(aes(filter = depth == 2, fill = continent), colour = "white", linewidth = 0.2) +
  geom_node_circle(aes(filter = depth == 1), colour = "#535353", linewidth = 0.3) +
  geom_node_text(aes(filter = depth == 2 & pop > 2e8, label = name), size = 2.4) +
  scale_fill_manual(values = continent_colors) +
  coord_equal() +
  labs(title = "Two countries outnumber whole continents in population",
       subtitle = "142 countries in 2007, circles sized by population",
       fill = NULL,
       caption = "Data: Gapminder, via the gapminder R package") +
  theme_lex_viz(grid = "", arrows = "") +
  theme(legend.position = "right", axis.text = element_blank(), axis.title = element_blank())

Sources (13)

34 occurrences in the corpus; indexed by 3 books

Show the 13 sources

Cite this entry

Stable addresshttps://dataviz.adrientaudiere.com/en/term/circle-packing.html

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

BibTeX
@incollection{taudiere2026-circle-packing,
  author    = {Taudière, Adrien},
  title     = {circle packing},
  booktitle = {Visualization Vocabulary},
  year      = {2026},
  version   = {1.0.0},
  publisher = {IdEst},
  url       = {https://dataviz.adrientaudiere.com/en/term/circle-packing.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.