D:REAM - Things Can Only Get Better
At LabourList, Luke Akehurst has a list of Labour battleground seats that are either likely to flip from Labour, or are at risk of it*.
To get a sense of how devastating this is, I thought I’d quickly draw up a map using the Hexagram from yesterday and point out all of the seats highlighted in the article.
In the map below, seats are coloured according to results in the 2015 general election (from which Akehurst’s analysis is based). Some of these of course have already changed, such as Copeland in the 2017 by-election. Rings around seats indicate marginals. These are coloured by seats that are currently just safe (black), seats that look likely to fall to the Conservatives (darkblue), or Cambridge, which looks like to switch to Lib Dem (darkyellow).
If Akehurst is right, Labour is wiped out in the South West, and runs the risk of a similar fate in Cumbria, North Wales and South Yorkshire. Even some seats in North London and the North East have turned into marginals for the first time in post-war politics.
## OGR data source with driver: ESRI Shapefile
## Source: "/tmp/Rtmpkfr8Jf", layer: "UK_hexagram"
## with 650 features
## It has 7 fields
party_pal <- colorFactor(colours$Colour[order(colours$Party)], UK@data$party)
code_pal <- colorFactor(c("darkblue", "black", "goldenrod"), levels(factor(UK@data$marginal)))
getLeafletOptions <- function(minZoom, maxZoom, ...) {
leafletOptions(
crs = leafletCRS("L.CRS.Simple"),
minZoom = minZoom, maxZoom = maxZoom,
dragging = TRUE, zoomControl = TRUE,
tap = FALSE,
attributionControl = FALSE , ...)
}
marginal_seats <- UK[which(!is.na(UK@data$marginal)),]
#create the map
map <- leaflet(data =UK, options = getLeafletOptions(-12, -11)) %>%
addPolygons(weight = 2, color = "#000000", fillColor = ~party_pal(party), fillOpacity = 1,
label = ~as.character(paste0(shortname, "; ", winner, "; ", majority)),
highlightOptions = highlightOptions(weight = 3)) %>%
addPolygons(data = marginal_seats, weight = 5, color = ~code_pal(marginal), opacity = 1, fillOpacity = 0,
label = ~as.character(paste0(shortname, "; ", winner, "; ", majority)),
highlightOptions = highlightOptions(weight = 3))
map
Markdown for this post is hidden, but can be found at rpubs