library(ggplot2)
# This keeps the coordinates of the points consistent across iterations...
set.seed(202502)
cd_data <- dplyr::tibble(x_coord = sample(seq(1, 5, length.out = 700), 700),
y_coord = sample(seq(1, 4, length.out = 700), 700),
identify_d = c(rep("no", 600), rep("yes", 100)))
# ... which allows us to consistently pick out the x_coordinates of 10%
# of the purple dots which fall along a pleasing path across the visualisation
one_in_10 <- c(1.915594, 2.316166, 2.567954, 2.648069,
2.997139, 3.391989, 3.712446, 4.216023,
4.851216, 1.291845)
# Creating a background colour from Esi's brand colours
background <- monochromeR::generate_palette("#F4DFD2", "go_lighter", n_colours = 3)[3]
ggplot(cd_data) +
geom_point(aes(x = x_coord,
y = y_coord,
fill = identify_d,
alpha = dplyr::case_when(round(x_coord, 6) %in% one_in_10 ~ 0.9,
identify_d == "yes" ~ 0.25,
TRUE ~ 0.1),
size = sample(1:3, 700, replace = TRUE),
colour = dplyr::case_when(round(x_coord, 6) %in% one_in_10 ~ "#FFB700",
TRUE ~ "white"),
stroke = dplyr::case_when(round(x_coord, 6) %in% one_in_10 ~ 1.6,
TRUE ~ 0)),
shape = 21,
show.legend = FALSE) +
scale_size(range = c(4.5, 6)) +
scale_colour_identity() +
scale_alpha_identity() +
scale_fill_manual(values = c("no" = "#c86020", "yes" = "#601c8d")) +
theme_void() +
theme(plot.background = element_rect(fill = background, colour = background))An interdisciplinary journey in data visualisation
Keynote talk at the Women in Data Science 2025 conference held at Heriot Watt University. An exploration of how I have ended up doing what I do, peppered with tips and resources for future dataviz projects.
Resources
I mentioned a number of resources during my talk. Here they are in the order in which I mentioned them:
- datavizcatalogue.com - Explore the graphic continuum
- imagecolorpicker.com - A tool to pick out colours
- paletton.com - Create a colour palette from scratch
- monochromeR - Blend colours and create palettes that go between two colours
- viz4.net/palettes - Check the accessibility of colour palettes
- Ten tips for better text - Talk on optimising text in dataviz and tables
- Colour contrast checker - Check the text to background colour ratio
- Bigger Brighter Bolder - Mentorship for service-based businesses
Dataviz code
And here is the full code for the visualisation I shared, to tell the story of “10% of one in seven” - source: Esi Hardy, Celebrating Disability
Reuse
Citation
For attribution, please cite this work as:
“An Interdisciplinary Journey in Data Visualisation.” 2025.
May 28, 2025. https://www.cararthompson.com/talks/women-in-datascience-journey/.
