Seat Migration

Show changed seats only

This triangular graphic shows every GB seat and how it moved between the 2017 and 2019 general elections. Each seat is represented by a line running from the seat's 2017 political position to its 2019 position. The round blob at one end indicates the 2019 result. The colour of the line indicates the winner of the seat in 2017, and the colour of the blob indicates the winner in 2019. You can hover any blob to see the name of that seat.

The space is triangular to reflect the fact that there are three large parties. Each party has its own corner of strength. Movement towards a party's corner means they are increasing support and moving away means support is decreasing. The centre of the triangle represents seats where other parties, such as the SNP, are dominant, as well as any three-way marginals. A seat will be won by the party which has the nearest corner to that seat's position (unless a minor party wins it). Those areas are indicated by the internal dotted lines.

We see that most Labour seats head in the Conservative direction, with a few moving towards the Lib Dems. Several of the Labour seats cross over and become Conservative. Most Conservative seats head away from Labour with many seats also moving upwards towards the Lib Dems. Many of those Conservative seats become more marginal but very few actually changed hands. Existing Lib Dem seats tend to strengthen their position. Seats held by other parties (SNP, Plaid Cymru and Greens) also strengthened their position as they move towards the centre of the triangle, with several gains for the SNP.

Appendix: Triangular Co-ordinates

The co-ordinate frame maps the vote share for $CON$, $LAB$, $LIB$ and $OTH$ (where $OTH$ is the combined vote share for all other parties) to the two-dimensional co-ordinates $(x,y)$ where $$ x = CON - LAB,\qquad y = \sqrt 3\,LIB + {1\over\sqrt{3}}OTH. $$ So, for a seat that is 100pc Labour, its point would be $(-1,0)$ which is the bottom left corner of the triangle. A totally Conservative seat is at the bottom-right corner $(1,0)$. A totally Lib Dem seat is at $(0,\sqrt 3)$ which is the top corner of the triangle. And a seat which is 100pc Other would be at centre point $(0, 1/\sqrt 3)$.

Mathematically speaking, this choice of co-ordinates is the orthogonal projection of the feasible 3-simplex $\Delta^3=\{(v_1,v_2,v_3,v_4):\sum v_i=1,\ v_i\geq 0\}$ (which is a tetrahedral subset of four-dimensional space) onto the planar 2-simplex $\Delta^2=\{(w_1,w_2,w_3):\sum w_i=1,\ w_i\geq 0\}$ via $w_i=v_i+{1\over 3}v_4$. This 2-simplex is then mapped into the 2-dim plane $(x,y)$ via $x=w_1-w_2$ and $y=\sqrt3 w_3$, where its image is the equilateral triangle. Combining these two mappings gives the equations: $$ x = v_{CON} - v_{LAB},\quad y = \sqrt3(v_{LIB} + \hbox{$\textstyle{1 \over 3}$}v_{OTH}). $$