R-Ladies Rome
Data visualisation consultant Visual Data Studio
Founder and CEO Clarum
Cambridge, UK
22 July 2025
Laurea in Fisica, Italia
Dottorato di Ricerca fisica applicata, cristallografia, Francia
Postdocs in Svizzera e Inghilterra
Data scientist, Germania, Francia e Inghilterra
Data scientist freelance specializzata nella visualizzazione dei dati
Posizione del dolore per un paziente affetto da artrite
Vista normale
Protanopia (rosso)
Vista normale
Deuteranopia (verde)
Colori calmi e rassicuranti: rosa e lilla
Blu e verde
Colori neutri: beige, grigio e color crema
Source: https://www.design-a11y.com/colors-autism
Esempi di Google Fonts facili da leggere:
Roboto
Opens Sans
Lato
Montserrat
Atkinson Hyperlegible
Lexend
{cols4all}
{colorblindr}
Other packages:
{RColorBrewer}
{recolorize}
{sysfonts}
{showtext}
{savonliquide}
library(sysfonts)
library(showtext)
font_add_google("Lexend", family = "lexend")
showtext_auto()
font_families()
[1] "sans" "serif" "mono" "wqy-microhei" "lexend"
{RColorBrewer}
{viridis}
{cols4all}
{colorblindr}
datasets::penguins %>%
filter(island == "Dream") %>%
ggplot(aes(x = flipper_len, y = body_mass, colour = species)) +
geom_point() +
scale_colour_brewer(palette = "Set2") +
theme_minimal(base_family = "lexend", base_size = 14) +
ggtitle("Penguins on Dream Island")
cvd_grid(palette_plot(brand, xmargin = 0.2, ymargin = 0.8,
label_size = 4, label_family = "roboto"))
library(recolorize)
brand_rgb <- t(col2rgb(brand)/ 255 )
brand_sat <- adjust_color(brand_rgb, which_colors = c(2, 3),
saturation = 0.3, brightness = 0.9,
plotting = TRUE)
brand_hex <- rgb(brand_sat)
cvd_grid(palette_plot(brand_hex,label_size = 4,
xmargin = 0.2, ymargin = 0.8))
Differenza tra i colori, misurata come rapporto tra la luminanza relativa del colore più chiaro e quella del colore più scuro.
[1] 14.8
Warning in cr_get_ratio("darkblue", "black", view = TRUE): Aim for a value of 4.5 or higher.
[1] 1.37
library(coloratio)
library(tidyverse)
data <- read_csv("data.csv")
p <- data %>%
ggplot(aes(
x = value,
y = reorder(name, value),
fill = body)) +
geom_col() +
theme_void() +
facet_wrap(~body,
scales = "free_y") +
labs( x = "", y = "",
title = "Number of pain's records per body part") +
scale_fill_manual(values = c("#FEB24C", "#1A2E45")) +
theme(
axis.text.y = element_text(size = 16),
axis.title.x = element_text(size = 18),
strip.text = element_text(size = 16),
legend.position = "none",
plot.title = element_text(size = 24,
face = "bold",
hjust = 0,
family = "lexend"),
plot.margin = margin(1, 10, 1, 10))
p +
geom_text(
aes(label = value),
position = position_dodge(0.9),
hjust = 1.2,
size = 6,
colour = map_chr(
ggplot_build(p)[[1]][[1]]$fill,
coloratio::cr_choose_bw
)
)
* The Contrast Ratio is 1.83
* The result for the AA check is : FAIL
* The result for the AALarge check is : FAIL
* The result for the AAA check is : FAIL
* The result for the AAALarge check is : FAIL
https://analysisfunction.civilservice.gov.uk/policy-store/data-visualisation-colours-in-charts/
https://cols4all.github.io/cols4all-R/index.html
https://cran.r-project.org/web/packages/recolorize/vignettes/Introduction.html
Q&A Domande?
ritagiordano.co.uk
clarumvis.com
hello@ritagiordano.co.uk