Visualization VocabularyDataviz vocabulary
ggplot2 example: hive plot
Adrien Taudière (CC0); R code ↓; data: Coleman 1964, via ggraph (Pedersen 2025) (MIT)

Classification

  • chart
  • networks and trees › linear networks
  • flow
  • the name evokes: nature

Channels

Attestation and synonyms

Scientific literature

OpenAlex: 32 papers since 2013, 25% in the last five years; mostly in Computer Science, Biochemistry, Genetics and Molecular Biology, Medicine

Seminal references

R packages

R code of the ggplot2 example

library(ggplot2)
library(dplyr)
library(igraph)
library(ggraph)

## Friendships named in 1958. One axis per group of boys found by the Louvain
## method, split in two so that ties inside a group show between the twin
## axes. The groups only spread the boys out: Louvain maximises the ties
## inside them. A boy's distance from the centre is the number of classmates
## who name him, on the same scale for every axis.
boys <- sort(unique(c(highschool$from, highschool$to)))
ties <- highschool |>
  filter(year == 1958) |>
  distinct(from, to)
named <- graph_from_data_frame(ties, vertices = data.frame(name = boys))
named <- delete_vertices(named, degree(named) == 0)
set.seed(1)
louvain <- membership(cluster_louvain(as_undirected(named, mode = "collapse"), resolution = 0.4))
V(named)$clique <- paste("Group", match(louvain, unique(louvain)))
V(named)$named_by <- degree(named, mode = "in")

p <- ggraph(named, layout = "hive", axis = clique, sort.by = named_by,
            use.numeric = TRUE, normalize = FALSE, split.axes = "all") +
  geom_edge_hive(colour = "#a6a6a6", edge_width = 0.3, edge_alpha = 0.6) +
  geom_axis_hive(colour = "#535353", linewidth = 0.4, label = FALSE) +
  geom_node_point(aes(fill = clique), shape = 21, colour = "white", stroke = 0.2, size = 1.6) +
  scale_fill_manual(values = unname(lex_colors)) +
  coord_equal(xlim = c(-2, 2), ylim = c(-0.85, 1.1), clip = "off") +
  labs(title = "One boy is named by 15 classmates, most by three or fewer",
       subtitle = "High school friendships, 1958: one pair of axes per group of boys, one dot per boy, set farther out the more classmates name him; links join friends",
       caption = "Data: Coleman 1964, via the ggraph R package") +
  theme_lex_viz(grid = "", arrows = "") +
  theme(legend.position = "none", axis.text = element_blank(), axis.title = element_blank())

Sources (5)

2 occurrences in the corpus

Cite this entry

Stable addresshttps://dataviz.adrientaudiere.com/en-only/term/hive-plot.html

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

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

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