Chris Prosser
@caprosser.com
Political scientist | Co-director British Election Study | Election number crunching for ITV | Trustee McDougall Trust
caprosser.com
caprosser.com
Thanks Hanna! Hope all is well and the PhD is off to a good start!
November 4, 2025 at 9:37 PM
Thanks Hanna! Hope all is well and the PhD is off to a good start!
Thanks! The plots are mostly due to some earlier procrastination making a little package with custom ggplot themes and palettes + some functions to set geom defaults etc. github.com/drcaprosser/...
GitHub - drcaprosser/chrisplot: Some themes and palettes I use to make plots
Some themes and palettes I use to make plots. Contribute to drcaprosser/chrisplot development by creating an account on GitHub.
github.com
November 4, 2025 at 12:15 PM
Thanks! The plots are mostly due to some earlier procrastination making a little package with custom ggplot themes and palettes + some functions to set geom defaults etc. github.com/drcaprosser/...
Thanks - pleased with those! Font awesome makes getting the icons nice and easy - add this to your header-includes:
- \usepackage{fontawesome5}
And then call the icons as latex, e.g.
author:
- |
Name^[\faUniversity\ Uni name]
Getting them to line up nicely, however, was a massive pain...
- \usepackage{fontawesome5}
And then call the icons as latex, e.g.
author:
- |
Name^[\faUniversity\ Uni name]
Getting them to line up nicely, however, was a massive pain...
November 4, 2025 at 12:12 PM
Thanks - pleased with those! Font awesome makes getting the icons nice and easy - add this to your header-includes:
- \usepackage{fontawesome5}
And then call the icons as latex, e.g.
author:
- |
Name^[\faUniversity\ Uni name]
Getting them to line up nicely, however, was a massive pain...
- \usepackage{fontawesome5}
And then call the icons as latex, e.g.
author:
- |
Name^[\faUniversity\ Uni name]
Getting them to line up nicely, however, was a massive pain...
Nice, thanks for the code!
October 13, 2025 at 4:22 PM
Nice, thanks for the code!
That is a cool plot! Presumably gganimate in some form?
October 13, 2025 at 3:30 PM
That is a cool plot! Presumably gganimate in some form?
Hehe, I'm choosing to believe that someone in the government read this paper and this is why they're doing the policy.
October 9, 2025 at 8:05 AM
Hehe, I'm choosing to believe that someone in the government read this paper and this is why they're doing the policy.
Perhaps you would like to join my new grant bid: 'The impact of restaurants on political attitudes: an autoethnographic approach'
October 7, 2025 at 10:17 AM
Perhaps you would like to join my new grant bid: 'The impact of restaurants on political attitudes: an autoethnographic approach'
😱 And here I was just doing regular snarking about causal salads...
October 7, 2025 at 8:43 AM
😱 And here I was just doing regular snarking about causal salads...
I mean there was this one time this South African guy I lived as a student made dinner, and before that... 😉
October 7, 2025 at 7:47 AM
I mean there was this one time this South African guy I lived as a student made dinner, and before that... 😉
I'm concerned that this time series *starts* after midnight 😂
October 7, 2025 at 6:32 AM
I'm concerned that this time series *starts* after midnight 😂
Well sure, but it's the same thing as Starmer saying 'two-thirds of our children should go either to university or take a gold-standard apprenticeship' today.
September 30, 2025 at 2:04 PM
Well sure, but it's the same thing as Starmer saying 'two-thirds of our children should go either to university or take a gold-standard apprenticeship' today.
Not sure that's really true - at the 1999 conference Blair said 'today I set a target of 50 per cent of young adults going into higher education in the next century' news.bbc.co.uk/1/hi/uk_poli...
September 30, 2025 at 1:59 PM
Not sure that's really true - at the 1999 conference Blair said 'today I set a target of 50 per cent of young adults going into higher education in the next century' news.bbc.co.uk/1/hi/uk_poli...
It's the first R package I've made, and I won't lie - I had help from ChatGPT. I'm pretty good at R for statistics, but I'm not a programmer...
Anyway I'm quite pleased with it, so do have a look if you think this might be useful!
Anyway I'm quite pleased with it, so do have a look if you think this might be useful!
September 16, 2025 at 11:37 AM
It's the first R package I've made, and I won't lie - I had help from ChatGPT. I'm pretty good at R for statistics, but I'm not a programmer...
Anyway I'm quite pleased with it, so do have a look if you think this might be useful!
Anyway I'm quite pleased with it, so do have a look if you think this might be useful!
With one line of code you can assign party colours and labels, and sort the legend.
library(gbpartyscales)
share_plot +
scale_colour_party()
library(gbpartyscales)
share_plot +
scale_colour_party()
September 16, 2025 at 11:37 AM
With one line of code you can assign party colours and labels, and sort the legend.
library(gbpartyscales)
share_plot +
scale_colour_party()
library(gbpartyscales)
share_plot +
scale_colour_party()
Imagine you had a dataset of British elections results and wanted to make a plot.
share_plot <- gb_shares %>%
ggplot(aes(x = Election, y = `GB vote %`, colour = Party)) +
geom_line() +
geom_point(size = 3) +
theme_bw() +
scale_x_continuous(breaks = c(2019, 2024))
share_plot
share_plot <- gb_shares %>%
ggplot(aes(x = Election, y = `GB vote %`, colour = Party)) +
geom_line() +
geom_point(size = 3) +
theme_bw() +
scale_x_continuous(breaks = c(2019, 2024))
share_plot
September 16, 2025 at 11:37 AM
Imagine you had a dataset of British elections results and wanted to make a plot.
share_plot <- gb_shares %>%
ggplot(aes(x = Election, y = `GB vote %`, colour = Party)) +
geom_line() +
geom_point(size = 3) +
theme_bw() +
scale_x_continuous(breaks = c(2019, 2024))
share_plot
share_plot <- gb_shares %>%
ggplot(aes(x = Election, y = `GB vote %`, colour = Party)) +
geom_line() +
geom_point(size = 3) +
theme_bw() +
scale_x_continuous(breaks = c(2019, 2024))
share_plot
The package provides a bunch of scale_*_party() functions that slot into ggplot in the same way that ggplot's scale_* functions work and colour and label the parties by matching party names to aliases.
There's also a party_factor() function that turns party into a labelled and sorted factor.
There's also a party_factor() function that turns party into a labelled and sorted factor.
September 16, 2025 at 11:37 AM
The package provides a bunch of scale_*_party() functions that slot into ggplot in the same way that ggplot's scale_* functions work and colour and label the parties by matching party names to aliases.
There's also a party_factor() function that turns party into a labelled and sorted factor.
There's also a party_factor() function that turns party into a labelled and sorted factor.