Data

Notes

sathletes <- read_csv(here("Data", "athlete_events.csv")) %>% 
  filter(Season == "Summer") 
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   ID = col_double(),
##   Name = col_character(),
##   Sex = col_character(),
##   Age = col_double(),
##   Height = col_double(),
##   Weight = col_double(),
##   Team = col_character(),
##   NOC = col_character(),
##   Games = col_character(),
##   Year = col_double(),
##   Season = col_character(),
##   City = col_character(),
##   Sport = col_character(),
##   Event = col_character(),
##   Medal = col_character()
## )

https://jkunst.com/highcharter/articles/modules.html

cha <- sathletes %>% 
  #filter(NOC == "USA")
  filter(Team == "Switzerland")

cha <- left_join(
  cha,enframe(wmedal, name = "Medal")
) %>% 
  mutate(
    value = ifelse(is.na(value), 0, value)
  )
## Joining, by = "Medal"
chag <- cha %>% 
  group_by(Year, City, Sport) %>% 
  summarise(med_p = sum(value)) %>% 
  ungroup()

chags <- chag %>% 
  group_by(Sport) %>% 
  summarise(tot = sum(med_p)) %>% 
  ungroup()

quantile(chags$tot, 0.5)
## 50% 
##   4
s_others <- chags %>% filter(tot <= 5) %>% 
  .$Sport 

ch_ags <- cha %>% 
  mutate(sport = ifelse(Sport %in% s_others, "autres", Sport)) %>% 
  group_by(Year, sport) %>% 
  summarise(med_p = sum(value)) %>% 
  ungroup()

ch_agsc <- ch_ags %>% 
  # add missing 3 summer olympics cancelled
  bind_rows(data.frame(
    Year = c(1916, 1940, 1944),
    sport = rep("Gymnastics", 3),
    med_p = rep(NA,3)
  )) %>% 
  complete(Year, sport) %>% 
  mutate(med_p = ifelse(is.na(med_p), 0, med_p))
hchart(ch_agsc, "streamgraph", hcaes(Year, med_p, group = sport)) %>%
  hc_yAxis(visible = FALSE) %>% 
  hc_add_theme(hc_theme_lt) %>% 
  hc_plotOptions(
            series = list(
              label = list(
                enabled = TRUE,
                onArea = TRUE,
                minFontSize = 6, 
                maxFontSize = 12, 
                style = list(color = "lightgrey"))
              )
            
  ) %>% 
  hc_add_dependency("modules/streamgraph.js") %>% 
  hc_add_dependency("modules/series-label.js") %>% 
  hc_add_dependency("modules/annotations.js") %>% 
  hc_legend(enabled = F) %>% 
  hc_title(text = "Dans quels sports olympiques les Suisses excellent-ils?") %>% 
  hc_subtitle(
    text = "Evolution des médailles suisses aux jeux olympiques d'été de 1896 à 2016. Médaille d'or = 4, médaille d'argent = 2, médaille de bronze = 1")
  # hc_responsive()
  # hc_colors(viridis::cividis(n = 20))


# https://r-charts.com/evolution/ggstream/

# ggplot(ch_agsc, 
#        aes(x = Year, y = med_p, fill = sport)) +
#   geom_stream() +
#   geom_stream_label(aes(label = sport), size = 3) +
#   theme_lt()+
#   coord_flip()