extreme weather

Tidy Tuesday Week 32

Author

Jen Richmond

Published

August 12, 2025

Practicing my tree map skills with the extreme weather attribution studies data for Tidy Tuesday.

load/wrangle data

Code
library(tidytuesdayR)
library(tidyverse)
library(janitor)
library(treemapify)
library(ggeasy)
library(gt)

week = 32
year = 2025

tt <- tt_load(year, week)

att <- tt[[1]]


event_class <- att %>%
  tabyl(event_type, classification) %>%
  clean_names() %>%
  pivot_longer(names_to = "category", values_to = "count", 2:5) %>%
   mutate(across(where(is.character), as_factor))

treemap plot

Code
event_class %>%
  ggplot(aes(area = count, fill = event_type)) +
  geom_treemap() +
  facet_wrap(~category)

colours

Code
palette <- c("Atmosphere" = "#93ABBFFF", 
             "Cold, snow & ice" = "#A1C2EDFF", 
             "Compound" = "#F9E0E8FF", 
             "Drought" = "#E9A800FF", 
             "Heat" = "#EE6100FF",
             "Impact" = "#EBA49EFF", 
             "Oceans" = "#1A318BFF", 
             "Rain & flooding" = "#4060C8FF",
             "River flow" = "#034AA6FF",
             "Storm"= "#9093A2FF", 
             "Sunshine"= "#FFED4DFF", 
             "Wildfire" = "#D72000FF" )



id <- event_class %>%
  filter(category %in% c("decrease_less_severe_or_less_likely_to_occur", "more_severe_or_more_likely_to_occur")) %>% 
  mutate(category = fct_relevel(category, c("more_severe_or_more_likely_to_occur", "decrease_less_severe_or_less_likely_to_occur"))) %>%
  mutate(event_type = fct_relevel(event_type, c("Heat", "Drought", "Sunshine", "Wildfire", "Atmosphere", "Compound", "Impact", "Oceans", "Cold, snow & ice", "Rain & flooding", "River flow", "Storm"))) 



id %>%
  ggplot(aes(area = count, fill = event_type)) +
  geom_treemap() +
 facet_wrap(~category, labeller = as_labeller(
                     c(decrease_less_severe_or_less_likely_to_occur = "Less severe or less likely",                        more_severe_or_more_likely_to_occur = "More severe or more likely"))) +
    scale_fill_manual(values = palette) 

labels

Code
id %>%
  group_by(category) %>%
  summarise(total_studies = sum(count)) %>%
  gt()
category total_studies
more_severe_or_more_likely_to_occur 554
decrease_less_severe_or_less_likely_to_occur 66
Code
id %>%
  ggplot(aes(area = count, fill = event_type, 
             label = paste(event_type, count, sep = "\n"))) +
  geom_treemap() +
 facet_wrap(~category, labeller = as_labeller(
                     c(decrease_less_severe_or_less_likely_to_occur = "Less severe or less likely N = 66",                        more_severe_or_more_likely_to_occur = "More severe or more likely N = 554"))) +
    scale_fill_manual(values = palette) +
  theme_minimal() +
 easy_add_legend_title("Climate event") +
  geom_treemap_text(colour = "black",
                    place = "topleft",
                    size = 7, 
                    grow = FALSE) + # option from ggfittext to NOT make font fit box
  easy_remove_legend() +
labs(title = "Extreme Weather Attribution Studies", 
     subtitle = "Most extreme weather attribution studies conclude that human influence on climate has made \nextreme events more severe or more likely. Heat, Rain & flooding, and Drought are most \nfrequently reported among studies that conclude extreme events are becoming more likely.", caption = "TidyTuesday Week 32 2025 \nData source: Carbon Brief") +
  easy_subtitle_size(size = 10) +
  theme(text = element_text(family = "Lato"), 
      plot.caption = element_text(hjust = 0.95, size = 8, colour = "gray50"))