################################################################################
##### Figure 2. Location and event type

all_coords <- read.csv('worldcities.csv') %>% 
  mutate(location = paste0(city,', ',str_replace(iso2,'GB','UK'))) %>%
  select(location, lat, lng)

all_locations <- df %>%
  group_by(location) %>%
  summarise(n = n()) %>%
  mutate(location=ifelse(location=='Rutland, UK','Uppingham, UK',location),
         location=ifelse(location=='Shroud, UK','Stroud, UK',location),
         location=ifelse(location=='Wotton-under-Edge','Wotton-under-Edge, UK',location))

all_locations %>% merge(all_coords,by='location',all.x = T) %>% 
  mutate(lat=case_when(location=='Holywood, UK' ~ 54.630777,
                       location=="Bodelva, UK" ~ 50.3612,
                       location=="Cardiff, UK" ~ 51.4833,
                       location=="Chartwell, UK" ~ 51.1439,
                       location=="Chawton, UK" ~ 51.1307,
                       location=="Cranfield, UK" ~ 52.0698,
                       location=="Egham, UK" ~ 51.4235,
                       location=="Hull, UK" ~ 53.7444,
                       location=="Leamington Spa, UK" ~ 52.2852,
                       location=="Newcastle upon Tyne, UK" ~ 54.978,
                       location=="Uppingham, UK" ~ 52.5898,
                       location=="Sedgefield, UK" ~ 54.6564,
                       location=="Stroud, UK" ~ 51.7443,
                       location=="St Helier, UK" ~ 49.1858,
                       location=="Swansea, UK" ~ 51.6167,
                       location=="Woodstock, UK" ~ 51.5052,
                       location=="Wotton-under-Edge, UK" ~ 51.6374,
                       TRUE ~ lat),
         lng=case_when(location=='Holywood, UK' ~ -5.83638,
                       location=="Bodelva, UK" ~ -4.7398,
                       location=="Cardiff, UK" ~ -3.1833,
                       location=="Chartwell, UK" ~ -0.0500,
                       location=="Chawton, UK" ~ -0.9869,
                       location=="Cranfield, UK" ~ -0.6010,
                       location=="Egham, UK" ~ -0.5357,
                       location=="Hull, UK" ~ -0.3325,
                       location=="Leamington Spa, UK" ~ -1.5334,
                       location=="Newcastle upon Tyne, UK" ~ -1.6102,
                       location=="Uppingham, UK" ~ -0.7222,
                       location=="Sedgefield, UK" ~ -1.4436,
                       location=="Stroud, UK" ~ -2.2252,
                       location=="St Helier, UK" ~ -2.11,
                       location=="Swansea, UK" ~ -3.95,
                       location=="Woodstock, UK" ~ -1.2115,
                       location=="Wotton-under-Edge, UK" ~ -2.3507,
                       TRUE ~ lng)) %>% 
  subset(!is.na(lat)) -> df_coord

world.map <- map_data("world")
UK.map <- world.map %>% filter(region == "UK") %>% subset(lat < 59) # drop Shetlands
loc_map <- UK.map %>%
        ggplot() + 
        geom_map(map = UK.map, 
                 aes(x = long, y = lat, map_id = region),
                 colour = "white",fill='#56B4E9') + 
        coord_map() + 
        geom_point(data = df_coord %>% subset(grepl(', UK$',location)) %>% subset(location!='St Helier, UK'), 
                   aes(x=lng,y=lat,size=n)) + 
        theme_void() +
        theme(legend.position = "none")

loc_bar <- df %>% subset(location_rec %in% c('london','elsewhere in UK')) %>%
        group_by(event_type_rec,location_rec) %>%
        summarise(n=n()) %>%
        mutate(
          location_rec=case_when(location_rec=="london" ~ 'London\n(N = 472)',
                                 TRUE ~ 'Other place in\nthe UK (N = 295)')
        ) %>%
        ggplot(aes(x=location_rec,y=n,fill=event_type_rec)) +
        geom_bar(stat = "identity",colour='black', position = position_dodge(0.8),width = 0.7) +
        labs(title="",fill='',x="",y="") +
        scale_fill_manual(values=palette.colors(palette = "Okabe-Ito"))+
        theme(axis.line = element_line(colour = "black"),
              axis.text=element_text(size=20),
              legend.text = element_text(size = 20),
              panel.grid.major = element_blank(),
              panel.grid.minor = element_blank(),
              panel.border = element_blank(),
              panel.background = element_blank(),
              legend.position="right")