Jordán Soubrier Benavides
Instituto Galego de Estatística
Todo comeza cunha solicitude aparentemente sinxela: Preparar unha nova paleta de cores para o Instituto.
Primeira consideración:
Elementos web, estéticos,… : seguirán criterios de imaxe corporativa.
Representación de datos: debe seguir criterios científicos.
O mesmo rigor aplicado ao cálculo de datos científicos debería aplicarse á súa representación visual.
Unha das principais referencias actuais ao respecto son os Scientific Colour Maps de Fabio Crameri (https://www.fabiocrameri.ch/colourmaps/)
Aquel que non distorsiona os datos subxacentes.
Non introduce características artificiais nin obscurece os patróns realmente presentes nos datos.
Máis concretamente:
Unha paleta de cor axeitada para a difusión científica de datos debe ter estas propiedades:
Unha paleta é perceptualmente uniforme se a distancias percibidas entre cores correspóndense cas distancias entre valores representados, de xeito uniforme, en todo o espazo.
O espazo RGB é un modelo de cor que combina luz vermella, verde e azul para representar cores en pantallas dixitais.
Estes dous pares de cores están separados pola mesma distancia –euclídea–, 20 unidades no espazo RGB.
Pero baixo a nosa ollada o par azul diferenciase claramente mentres que os verdes son indiscernibles.
O espazo RGB é lineal e técnico. Non reflicte ben a percepción visual humana porque esta ten distintas sensibilidades á diferentes frecuencias do espectro lumínico.
RGB non é perceptualmente uniforme
Por iso nunca debe usarse
para definir unha paleta se pretendemos que sexa perceptualmente uniforme.
farver: Excelente set de ferramentas de conversión e manipulación.pals:: Colección de paletas, principalmemente baseadas nas publicacións de Peter Kovesi, e utilidades de diagnose numérica e visual.colorspace:: Colección de mapas de cor uniformes no espazo HCL e utilidades de conversión e diagnose. Destaca a simulación de ‘CVDs’ –Deficiencias da percepción da cor–Para traballar na creación e dunha potencial paleta científica, replicando as diagnoses de Scientific Colour Maps, foi preciso programar numerosos métodos que, xunto a algunhas funcións das anteriores librarías, foron integradas nunha clase R6.
Isto fixo o fluxo de traballo máis doado e flexible.
colorspaceO paquete colorspace enfócase na análise de mapas de cores no espazo HCL.
Aproveitaremos as paletas e utilidades deste paquete para explorar os tipos e clase de paletas e as súas características.
Segundo o tipo de datos a representar, as paletas poden ser:
colorspace ‘Harmonic’
colorspace ‘Purple-Yellow’
colorspace ‘Vik’
scico ‘bukavu’
scico ‘romaO’
Unha paleta adecuada permite xulgar a orde dos valores de xeito intuitivo, sen necesidade de consultar unha lenda.
Esta orde perceptual ven determinada por:
O espazo CIELAB (CIE 1976 L*, a*, b*) é un modelo tridimensional perceptualmente uniforme desenvolvido pola Comisión Internacional da Iluminación (CIE). Representa as cores visibles para o ollo humano mediante tres eixos:
Este modelo é independente do dispositivo, o que permite comparar cores de forma consistente entre diferentes sistemas (pantallas, impresoras, etc.)
de.wikipedia)O espazo Lab deseñouse para ser uniforme, definindo un “observador promedio” a partires de experimentos con persoas.
CIE76: a fórmula orixinal para medir a distancia era simplemente a distancia euclidiana.
CIEDE2000: Posteriormente desenvolveuse unha fórmula mellorada que incorpora correccións para representar mellor as diferenzas reais percibidas polo ollo humano.
Os Scientific Colour Maps son unha colección de paletas deseñadas por Fabio Crameri, seguindo todos os principios que mencionamos inicialmente: uniformidade perceptual, accesibilidade universal, …
A diagnose destas realízase no espazo Lab, empregando principalmente a medida CIEDE2000.
Vexamos uns exemplos:
R “rainbow”rainbow e jet. As peores paletasEstas dúas paletas encarnan a antítese do que debe ser unha paleta científica:
Así veríanse baixo as distintas deficiencias na percepción da cor
rainbowjetviridis e plasma baixo a lupaA distancia perceptual ciede2000 é sempre positiva, así coma o erro visual, que se mide en valor absoluto.
Pero como vimos, o sentido e monotonía da L é a principal responsable da orde perceptual; sinala o sentido en que varían os datos.
Incorporando ambos elementos e rescalando os datos orixinais para reflectir a distorsión, obtemos una visualización moi reveladora.
volcano ca paleta batlowvolcano ca paleta jetA idea inicial inicial ao deseñar unha paleta para o IGE era incluír o azul corporativo da Xunta de Galicia.
A este engadímoslle duas cores contrastadas:
Pouco podemos facer con tan só tres cores, polo que tentaremos crear un gradiente entre elas.
Para iso, precisamos realizar dous procesos:
Extender o número de cores da paleta, mediante unha interpolación. Esta farase mediante splines.
Ecualizar as distancias secuenciais CIEDE2000 entre pares de cores consecutivas: Interpolamos en miles de puntos intermedios, calculamos as distancias e seleccionamos aqueles que aseguran un reparto equitativo da distancia acumulada total.
Maximizar o constraste de L, facendo a curva de pendente constante.
Ecualizar de novo. Iterar
Evitar vermello/verde na mesma paleta
Observar a traxectoria no espazo 3D, buscando ter traxectos suaves.
A estos efectos, unha idea e obter a compoñente principal da nube de puntos orixinal para asegurar unha traxectoria recta e unha L monótona.
Aínda que os resultados son prometedores, conseguir elaborar métodos para construír unha paleta que cumpla cos criterios establecidos require aínda moito esforzo adicional.
Sen descartar seguir traballando neste proxecto, a recomendación actual é optar por empregar paletas de Scientific Colour Maps, accesibles en R a través do paquete scico.
Para o noso uso, incluso algunhas delas combinan perfectamente ca imaxe corporativa.
Quarto é a evolución natural de RMarkdown:
Integración con VS Code, Jupyter e Neovim: non dependencia de RStudio.
Documentación e comunidade en crecemento, mentres que o desenvolvemento de RMarkdown está en declive.
LaTeX é o motor de facto para converter documentos RMarkdown a PDF. E non sen boas razóns:
A calidade tipográfica de LaTeX
A sinxeleza estrutural de Markdown
Unha personalización asequible
Busca (e logra con creces) acadar esta combinación.
#set document(title: "Exemplo")
= Exemplo
+ Texto en *negrita*, _cursiva_, ou con #text(red)[cores]
+ Un rectángulo
  #rect()
  
+ Unha fórmula peculiar:
$ sum^pi_(🧠=1) #circle(radius: 4mm)/🥸 = #emoji.face.heart $
+ Unha táboa (Tomada da documentación de typst)
#import table: cell, header
#table(
  columns: 2,
  align: center,
  header(
    [*Trip progress*],
    [*Itinerary*],
  ),
  cell(
    align: right,
    fill: fuchsia.lighten(80%),
    [🚗],
  ),
  [Get in, folks!],
  [🚗], [Eat curbside hotdog],
  cell(align: left)[🌴🚗],
  cell(
    inset: 0.06em,
    text(1.62em)[🛖🌅🌊],
  ),
)