xbco. static tools

3D Political Spectrum

Czech, German and US parties on three axes — economic, social and foreign policy — from the 2024 Chapel Hill Expert Survey (609 political scientists) and, for the US, the Global Party Survey 2019. Drag to rotate, scroll to zoom.

Axes — what the numbers mean
Economic−10 left+10 right lrecon
Social−10 progressive+10 conservative galtan
Foreign policy−10 pro-Western+10 pro-Russian eu_russia

For the two US parties the foreign-policy axis reads −10 Atlanticist · +10 isolationist, from the Global Party Survey's V13 (nationalism ↔ multilateralism), inverted to match. It is a close cousin of eu_russia, not the same question: eu_russia asks specifically about Russia, V13 about multilateral engagement in general. The two come apart exactly over the US, where the pre-2016 Republican party was strongly Atlanticist and often unilateralist at the same time.

On colour. Party brand colours are the default because they are what readers recognise, but as an identity channel for eighteen parties they measurably fail. Checked as a scatter (all pairs, not just neighbours): CDU and Piráti are both literally #000000 — ΔE 0.0; SPD (DE) #E3000F and the US Republicans #E9141D are the same red at ΔE 1.7; AfD and CSU differ by ΔE 6.3, ODS and TOP 09 by ΔE 7.1 — all far below the 15 floor for normal vision. Grüne against SPD (DE) is ΔE 3.9 under deuteranopia, indistinguishable for roughly 8% of men. No surface or reordering fixes this without abandoning brand colour, so the axis modes — a validated blue↔red diverging ramp with a neutral midpoint — are the legible way to read the cloud. Identity is never carried by colour alone: every point has a hover label, a checkbox, a marker shape for its country, and a row in the table below.

The data

PartyFamily EconomicSocialForeignEU Sys. rej.ExecJudic SeatsVote %Source

Method & caveats

Axes. Each is a CHES 2024 variable rescaled from its native 0–10 to −10…+10 by (v − 5) × 2. Economic is lrecon (0 = extreme left, 10 = extreme right). Social is galtan (0 = libertarian/postmaterialist, 10 = traditional/authoritarian). Foreign policy is eu_russia: 0 = "European countries should invest more in defence and security to defend against Russian aggression", 10 = "…more in trade and diplomacy with Russia to improve relations". EU integration is eu_position, used for colour only, not as an axis. The same (v − 5) × 2 rescaling applies to every dimension on this page — including the two colour-only ones — so no two columns of the table are ever on different scales, and 0 always means the source survey's midpoint.
Timing. CHES 2024 was fielded October–December 2024 — before the February 2025 German and October 2025 Czech elections. Positions are the survey's; seat and vote figures are the actual election results, so the two are deliberately from different moments. Coalitions. ODS, TOP 09 and KDU-ČSL are scored separately by CHES but contested 2025 inside SPOLU, which holds 52 seats combined; they carry no individual seat count. Below threshold. BSW (4.97%) and FDP (4.33%) missed the German 5% threshold and hold no seats. They are included because they are scored by CHES and BSW in particular sits at an extreme of the foreign-policy axis, but they are off by default.
System rejection is a fourth dimension, and it is not extremism-as-distance. Choose it in the colour dropdown and brand colours are replaced by it. For Europe it is the mean of CHES executive_power (0 = leaders should be constrained … 10 = should act without constraint) and judicial_independence (0 = the judiciary should be independent … 10 = the government should have influence over it). For the US it is the Global Party Survey's V16 (0 = strongly respects liberal-democratic norms … 10 = strongly undermines them). Both source scales are native 0–10 and are rescaled here to −10…+10 by (v − 5) × 2, the same transform the three axes use — so every number on this page is on one scale and 0 means the survey's midpoint. Joined on GPS's ID_CHES crosswalk the two agree across 135 shared parties at r = 0.823, mean absolute difference 1.19 — looser than the 0.948 for the economic axis, and some of that gap is five years of real movement rather than instrument disagreement.

What it is not. It is not how far a party sits from the centre of the cube — that is already implicit in the geometry and this correlates only 0.23 with it. It is not radicalism either, in the sense of wanting deep change: a party can want to transform society entirely through constitutional means, and one can reject the constitutional order in order to restore an old settlement. This axis measures only the second thing — whether a party accepts the constraints that bind whoever wins. Depth of desired change is not measured by CHES, GPS or any comparable survey, because it is defined relative to a national status quo that differs by country and by decade, so a common 0–10 scale would not mean the same thing twice.

The composite is lossy, so both halves ship separately. Across all 272 CHES parties the two items correlate r = 0.704 with a mean absolute difference of 2.1 points — related, not redundant — and the disagreements run in opposite directions. ANO scores +6.2 on executive power and −1.5 on judicial independence: it wants a leader who can act, and is relaxed about the courts. BSW is the mirror image at +1.1 and +8.0. Their composites sit 2.3 apart and describe two different postures. CDU and CSU show the same split in reverse, roughly neutral on executive power and strongly pro-judicial-independence. Pick the two component modes to see it; the composite is kept because it is the only level at which the US has a comparable figure.

It overlaps the social axis, deliberately not hidden. r = 0.74 with galtan, so roughly half of it is already on screen; the other half is what earns it a place. The residual is where it gets interesting — CSU, KDU-ČSL and CDU are markedly more system-loyal than their social conservatism predicts, while BSW has the largest excess rejection of any party here despite being economically left and socially mid-scale.
The US points come from a different survey. Marker shape shows country — ● Czechia, ◆ Germany, ■ United States — and the two square markers are also the only two not from CHES. CHES does not cover the United States and CHES-USA is announced but unpublished, so the Democrats and Republicans are placed from the Global Party Survey 2019 (Norris), which covers 1,043 parties in 163 countries with one instrument. Its economic and social items use wording almost identical to CHES, and it ships a merged CHES_lrecon column, so the two instruments were compared rather than assumed to agree: across 84 parties both surveys cover, r = 0.948, mean absolute difference 0.56 on the 0–10 scale (±1.1 here) and no systematic offset. That agreement is what makes one chart defensible; the square markers are there because it is still not the same survey.

Two gaps this leaves, stated rather than filled. GPS has no EU-integration question, so the US parties have no value in that colour mode and are greyed instead of being given an invented one. And GPS ran once, in 2019 — mid-first-term. Nothing places US parties on these axes before 2016 and the second GPS wave is unreleased, so a before-and-after pair cannot be measured and none is shown. Positions are 2019; seats and votes are the 2024 House election, the same deliberate split as the European rows.
Source: Jolly, Bakker, Hooghe, Marks, Polk, Rovny, Steenbergen & Vachudova — Chapel Hill Expert Survey 2024 (v2, Feb 2025), CC BY 4.0. US parties: Pippa Norris, Global Party Survey 2019, Harvard Dataverse. Election results: Bundeswahlleiterin 2025; Český statistický úřad 2025; Clerk of the US House 2024. Rendered with Plotly.js 4.1.1 (gl3d bundle, vendored).