Gender Pay Gap by Bank
#==========================================================
# References: https://www.bbc.com/news/business-43668187
#==========================================================
# Load some packages:
library(tidyverse)
# Simulate a data frame:
my_bonus <- data_frame(Bank = c("Barclays Bank", "Aberdeen Assets Managers", "HSBC", "Lloyds Bank"),
women = c(27, 32, 39, 39),
men = c(rep(100, 4)))
# Prepare data:
my_bonus %>%
mutate(label = paste0(women, "p")) %>%
arrange(-women) %>%
mutate(Bank = factor(Bank, levels = Bank)) -> my_bonus
menColor <- "#7c4ea4"
womenColor <- "#7c4ea4"
my_font <- "Ubuntu Condensed"
dftext <- my_bonus %>% filter(Bank == my_bonus$Bank[4])
#===============
# Solution 1
#===============
ggplot() +
coord_flip() +
geom_col(data = my_bonus, aes(x = Bank, y = men), fill = "#7c4ea4", alpha = 0.3, width = 0.8) +
geom_col(data = my_bonus, aes(x = Bank, y = women), fill = "#7c4ea4", width = 0.8) +
geom_text(data = my_bonus, aes(x = Bank, y = women, label = label), hjust = 1.3, color = "white", size = 6, family = my_font) +
labs(title = "Finance firms have the largest bonus gaps",
subtitle = "Women's bonuses as a proportition of men's among\nfinance firms with 5,000+ employees.") +
theme(panel.background = element_blank()) +
theme(panel.grid.major.x = element_line(colour = "gray90")) +
theme(axis.title.x = element_blank()) +
theme(axis.title.y = element_blank()) +
theme(axis.ticks.x = element_blank()) +
theme(axis.ticks.y = element_blank()) +
theme(text = element_text(family = my_font)) +
theme(axis.text.y = element_text(size = 16, family = my_font)) +
theme(axis.text.x = element_text(size = 16, family = my_font)) +
theme(plot.title = element_text(size = 28, hjust = 0)) +
theme(plot.subtitle = element_text(size = 18, color = "gray40")) +
theme(plot.margin = unit(rep(1.1, 4), "cm")) +
geom_hline(yintercept = c(0, 100), size = 0.8, color = "grey30") +
scale_y_continuous(labels = c("0p", "25p", "50p", "75p", "£1")) +
geom_text(data = dftext, aes(x = Bank, y = 65, label = "Women get a 27p bonus for\nevery £1 bonus paid to men"),
family = my_font, color = "gray20", size = 5) +
annotate("curve",
curvature = 0,
x = 4,
xend = 4,
y = 48,
yend = 28,
arrow = arrow(angle = 20, length = unit(0.25, "cm")), size = 0.5)

LS0tCnRpdGxlOiAnR2VuZGVyIFBheSBHYXAgYnkgQnJpdGFpbiBCYW5rcycKYXV0aG9yOiAnTmd1eWVuIENoaSBEdW5nJwpzdWJ0aXRsZTogIkRhaWx5IEdyYXBoIFNlcmllcyIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6IAogICAgY29kZV9kb3dubG9hZDogdHJ1ZQogICAgY29kZV9mb2xkaW5nOiBoaWRlCiAgICBoaWdobGlnaHQ6IHplbmJ1cm4KICAgICMgbnVtYmVyX3NlY3Rpb25zOiB5ZXMKICAgIHRoZW1lOiAiZmxhdGx5IgogICAgdG9jOiBUUlVFCiAgICB0b2NfZmxvYXQ6IFRSVUUKLS0tCgpgYGB7ciBzZXR1cCxpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUsIHdhcm5pbmcgPSBGQUxTRSwgbWVzc2FnZSA9IEZBTFNFKQpgYGAKCgojIEdlbmRlciBQYXkgR2FwIGJ5IEJhbmsKCmBgYHtyLCBmaWcuaGVpZ2h0PTUsIGZpZy53aWR0aD0xMH0KCgojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQojICBSZWZlcmVuY2VzOiBodHRwczovL3d3dy5iYmMuY29tL25ld3MvYnVzaW5lc3MtNDM2NjgxODcKIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiMgTG9hZCBzb21lIHBhY2thZ2VzOiAKbGlicmFyeSh0aWR5dmVyc2UpCgojIFNpbXVsYXRlIGEgZGF0YSBmcmFtZTogCm15X2JvbnVzIDwtIGRhdGFfZnJhbWUoQmFuayA9IGMoIkJhcmNsYXlzIEJhbmsiLCAiQWJlcmRlZW4gQXNzZXRzIE1hbmFnZXJzIiwgIkhTQkMiLCAiTGxveWRzIEJhbmsiKSwgCiAgICAgICAgICAgICAgICAgICAgICAgd29tZW4gPSBjKDI3LCAzMiwgMzksIDM5KSwgCiAgICAgICAgICAgICAgICAgICAgICAgbWVuID0gYyhyZXAoMTAwLCA0KSkpCiMgUHJlcGFyZSBkYXRhOiAKbXlfYm9udXMgJT4lICAgCiAgbXV0YXRlKGxhYmVsID0gcGFzdGUwKHdvbWVuLCAicCIpKSAlPiUgCiAgYXJyYW5nZSgtd29tZW4pICU+JSAKICBtdXRhdGUoQmFuayA9IGZhY3RvcihCYW5rLCBsZXZlbHMgPSBCYW5rKSkgLT4gbXlfYm9udXMKCgptZW5Db2xvciA8LSAiIzdjNGVhNCIKd29tZW5Db2xvciA8LSAiIzdjNGVhNCIKbXlfZm9udCA8LSAiVWJ1bnR1IENvbmRlbnNlZCIKCmRmdGV4dCA8LSBteV9ib251cyAlPiUgZmlsdGVyKEJhbmsgPT0gbXlfYm9udXMkQmFua1s0XSkKCiM9PT09PT09PT09PT09PT0KIyAgU29sdXRpb24gMQojPT09PT09PT09PT09PT09CgpnZ3Bsb3QoKSArIAogIGNvb3JkX2ZsaXAoKSArIAogIGdlb21fY29sKGRhdGEgPSBteV9ib251cywgYWVzKHggPSBCYW5rLCB5ID0gbWVuKSwgZmlsbCA9ICIjN2M0ZWE0IiwgYWxwaGEgPSAwLjMsIHdpZHRoID0gMC44KSArIAogIGdlb21fY29sKGRhdGEgPSBteV9ib251cywgYWVzKHggPSBCYW5rLCB5ID0gd29tZW4pLCBmaWxsID0gIiM3YzRlYTQiLCB3aWR0aCA9IDAuOCkgKyAKICBnZW9tX3RleHQoZGF0YSA9IG15X2JvbnVzLCBhZXMoeCA9IEJhbmssIHkgPSB3b21lbiwgbGFiZWwgPSBsYWJlbCksIGhqdXN0ID0gMS4zLCBjb2xvciA9ICJ3aGl0ZSIsIHNpemUgPSA2LCBmYW1pbHkgPSBteV9mb250KSArIAogIGxhYnModGl0bGUgPSAiRmluYW5jZSBmaXJtcyBoYXZlIHRoZSBsYXJnZXN0IGJvbnVzIGdhcHMiLCAKICAgICAgIHN1YnRpdGxlID0gIldvbWVuJ3MgYm9udXNlcyBhcyBhIHByb3BvcnRpdGlvbiBvZiBtZW4ncyBhbW9uZ1xuZmluYW5jZSBmaXJtcyB3aXRoIDUsMDAwKyBlbXBsb3llZXMuIikgKyAKICB0aGVtZShwYW5lbC5iYWNrZ3JvdW5kID0gZWxlbWVudF9ibGFuaygpKSArIAogIHRoZW1lKHBhbmVsLmdyaWQubWFqb3IueCA9IGVsZW1lbnRfbGluZShjb2xvdXIgPSAiZ3JheTkwIikpICsgCiAgdGhlbWUoYXhpcy50aXRsZS54ID0gZWxlbWVudF9ibGFuaygpKSArIAogIHRoZW1lKGF4aXMudGl0bGUueSA9IGVsZW1lbnRfYmxhbmsoKSkgKyAKICB0aGVtZShheGlzLnRpY2tzLnggPSBlbGVtZW50X2JsYW5rKCkpICsgCiAgdGhlbWUoYXhpcy50aWNrcy55ID0gZWxlbWVudF9ibGFuaygpKSArIAogIHRoZW1lKHRleHQgPSBlbGVtZW50X3RleHQoZmFtaWx5ID0gbXlfZm9udCkpICsgCiAgdGhlbWUoYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE2LCBmYW1pbHkgPSBteV9mb250KSkgKyAKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTYsIGZhbWlseSA9IG15X2ZvbnQpKSArIAogIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDI4LCBoanVzdCA9IDApKSArIAogIHRoZW1lKHBsb3Quc3VidGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE4LCBjb2xvciA9ICJncmF5NDAiKSkgKyAKICB0aGVtZShwbG90Lm1hcmdpbiA9IHVuaXQocmVwKDEuMSwgNCksICJjbSIpKSArIAogIGdlb21faGxpbmUoeWludGVyY2VwdCA9IGMoMCwgMTAwKSwgc2l6ZSA9IDAuOCwgY29sb3IgPSAiZ3JleTMwIikgKyAKICBzY2FsZV95X2NvbnRpbnVvdXMobGFiZWxzID0gYygiMHAiLCAiMjVwIiwgIjUwcCIsICI3NXAiLCAiwqMxIikpICsgCiAgZ2VvbV90ZXh0KGRhdGEgPSBkZnRleHQsIGFlcyh4ID0gQmFuaywgeSA9IDY1LCBsYWJlbCA9ICJXb21lbiBnZXQgYSAyN3AgYm9udXMgZm9yXG5ldmVyeSDCozEgYm9udXMgcGFpZCB0byBtZW4iKSwgCiAgICAgICAgICAgIGZhbWlseSA9IG15X2ZvbnQsIGNvbG9yID0gImdyYXkyMCIsIHNpemUgPSA1KSArIAogIGFubm90YXRlKCJjdXJ2ZSIsIAogICAgICAgICAgIGN1cnZhdHVyZSA9IDAsCiAgICAgICAgICAgeCA9IDQsIAogICAgICAgICAgIHhlbmQgPSA0LAogICAgICAgICAgIHkgPSA0OCwgCiAgICAgICAgICAgeWVuZCA9IDI4LAogICAgICAgICAgIGFycm93ID0gYXJyb3coYW5nbGUgPSAyMCwgbGVuZ3RoID0gdW5pdCgwLjI1LCAiY20iKSksIHNpemUgPSAwLjUpCgoKYGBgCgoK