The world, sister by sister

TidyTuesday 2026-05-12 · Twinned (sister) cities worldwide

Published

June 9, 2026

TipSession 1 · co-developed

This page came out of a live, turn-by-turn conversation between Jon Minton and Claude (Fable 5) — questions, plots and interpretation built together in real time. The Session 2 pages were instead produced by Claude working autonomously.

5,470 cities, 10,596 twinning links — a global network of “sister city” agreements stretching back to post-war reconciliation efforts. This page is built around a single interactive map: hover a city to fan out its twin links; click to pin them so you can compare several cities at once.

Hover any city to see its twin links · click to pin them · click again to release.
TipTry this

Pin Saint Petersburg and Rio de Janeiro — the two most-twinned cities in the data (96 and 94 links) — and watch their fans of lines reach across nearly every continent. Then pin a mid-sized European capital next to them: the contrast in reach is the whole story of sister-city diplomacy.

Who twins with whom?

The interactive map shows individual cities; zoom out and the network has a strong regional grain. Counting links by the continents they connect:

Code
cont <- cities |> select(id, continent)

pairs <- links |>
  left_join(cont, by = c("source" = "id")) |>
  rename(c1 = continent) |>
  left_join(cont, by = c("target" = "id")) |>
  rename(c2 = continent) |>
  filter(!is.na(c1), !is.na(c2)) |>
  mutate(
    a = pmin(c1, c2), b = pmax(c1, c2)
  ) |>
  count(a, b)

ggplot(pairs, aes(a, b, fill = n)) +
  geom_tile(colour = "white", linewidth = 1) +
  geom_text(aes(label = n), size = 3.4,
            colour = ifelse(pairs$n > max(pairs$n) / 2, "white", "grey20")) +
  scale_fill_gradient(low = "#eaf0f6", high = "#3f7cac", name = "links") +
  labs(
    title = "Sister cities mostly stay close to home",
    subtitle = "Number of twin links between each pair of continents",
    x = NULL, y = NULL
  ) +
  theme(axis.text.x = element_text(angle = 30, hjust = 1),
        panel.grid = element_blank())

Twin links by the pair of continents they connect. The diagonal (within-continent) dominates — sister cities are mostly neighbours.

The within-continent diagonal dominates — Europe–Europe especially, the legacy of post-war Franco-German jumelage and the EU’s deliberate cultivation of cross-border municipal ties. The brightest off-diagonal cell is usually Europe paired with Asia, reflecting the dense web of European–Chinese and European–Japanese partnerships built during the late-20th-century opening.

The most connected cities

Code
deg |>
  left_join(cities, by = "id") |>
  slice_max(deg, n = 15) |>
  mutate(label = paste0(name, ", ", country),
         label = fct_reorder(label, deg)) |>
  ggplot(aes(deg, label, fill = continent)) +
  geom_col() +
  scale_fill_manual(values = cont_pal, name = NULL) +
  labs(
    title = "Saint Petersburg and Rio lead a very long tail",
    subtitle = "Number of sister-city links",
    x = "Twin links", y = NULL
  )

The 15 most-twinned cities.

A handful of “diplomatic hub” cities (Saint Petersburg, Rio, Istanbul, Shanghai) carry dozens of links each, while the median city in the data has just one or two — the signature of a network where a few well-resourced municipalities run active international offices and most do not.

Six degrees of twinning: Edinburgh to Jinan

Because twinning stitches distant cities together, even places with nothing in common are often only a few hops apart. The shortest chain of sister-city links from Edinburgh to Jinan, China — found by breadth-first search over the whole network — is just three hops, and it routes out of China through a European bridge before returning:

Edinburgh → Xi'an → Maribor → Jinan. Hover a marker for the city; the chain is drawn in order.

The middle hop is the giveaway: there is no direct Xi’an–Jinan twin, because Chinese cities overwhelmingly twin outward with foreign partners rather than with each other. So the shortest link between two Chinese cities runs through Maribor, Slovenia — a small city that happens to be twinned with both. Three hops, ~16,000 km of round-trip geography, to connect two cities in the same country.