Code
library(tidyverse)
library(tidytuesdayR)
library(janitor)
library(gt)
library(plotly)
library(ggeasy)
= 2025
year = 27
week
<- tt_load(year, week)
tt
<- tt[[2]]
ranks
rm(tt)
Jen Richmond
July 8, 2025
The Tidy Tuesday data this week was curated by Nicola Rennie and comes from the xkcd Color Survey . In this study, hundreds of thousands of participants were asked to name colour swatches and the responses were analysed to produce a set of 954 colour names.
I was interested that people labelled some colours as puke and vomit and was curious whether other bodily fluids might feature in the dataset. As it turns out, colloquial terms for urine, faecal matter, snot, and vomit all feature in the colour names. There are many colours that remind respondents of infant’s bodily fluids!
Check out my Gross Colours geom_tile()
plot below.
gross_colors <- ranks %>%
filter(str_detect(color, "diarrhea|piss|poo|poop|shit|booger|snot|vomit|puke")) %>%
mutate(fluid = case_when(
str_detect(color, "piss") ~ "pee",
str_detect(color, "diarrhea|poo|poop|shit") ~ "poo",
str_detect(color, "booger|snot") ~ "snot",
str_detect(color, "vomit|puke") ~ "vomit",
TRUE ~ "other")) %>%
mutate(category = case_when(fluid == "poo" ~ 1,
fluid == "snot" ~ 3,
fluid == "vomit" ~ 2,
fluid == "pee" ~ 4,
)) %>%
arrange(color, hex) %>%
group_by(fluid) %>%
mutate(row = row_number())
plot <- gross_colors %>%
ggplot(aes(x = row, y = reorder(fluid, -category), label = color, fill = hex)) +
geom_tile() +
geom_text(family = "Lato", size = 2.5, color = "black", vjust = 0.5) +
scale_fill_identity() +
easy_remove_legend() +
theme_minimal() +
coord_flip() +
labs(title = "Gross Colours: xkcd responses inspired by bodily fluids",
subtitle = "The 2010 xkcd Colour Name survey asked 222,500 participants to name a set of colour \nswatches, resulting in a set of 954 crowdsourced colour names. \nResponses inspired by bodily fluids included piss, booger, snot, vomit, puke, poo, poop, shit, \nand diarrhea. Babies' bodily fluids feature prominently.",
caption = "TidyTuesday Week 27 2025 \nData source: xkcd Colour Survey") +
easy_remove_axes(which = c("both")) +
easy_title_size(14) +
easy_subtitle_size(10) +
easy_caption_size(8) +
theme(text = element_text(family = "Lato"),
plot.background = element_rect("#f8f9fa"),
plot.caption = element_text(hjust = 0.95, size = 8, colour = "gray50"))