Farver, farvekoder og farvepaletter

Principper for kodning af digitale farver

Der findes forskellige typer farvekoder til at specificere en farve. Koder kan specificeres med en tekststreng, RGB (Red Green Blue) eller hexadecimal. Det er de mest almindelige formater til at specificere en farve i digitale formater. Der findes andre farvekoder (f.eks. CMYK), men de behandles ikke her.

RGB (Red Green Blue)

RGB-farver dannes ved at specificere farvens indhold af rød, grøn og blå. Ved at variere mængden af rød, grøn og blå kan mange farver og nuancer dannes. Brugen af RGB minder om menneskets fysiologi. I øjets nethinde (retina) findes to typer synsceller: stave og tappe. Tappene registrerer farve i lyset. Det sker ved at registrere rødt, grønt og blåt lys. Stavene er lysfølsomme og er nødvendige for mørkesyn. I RGB defineres hver farve med et tal fra 0 til 255. Eksempler på RGB-farver med tilhørende RGB-koder følger:

Hexadecimal

Farver kan også angives med hexadecimaler. Disse farvekoder består af bogstaver og tal. Eksempler på hexadecimalkoder følger (samme farver som ovenfor):

Tekststrenge

I R kan farver angives med tekststrenge. Nedenfor ses en huskeseddel med farver og deres tilsvarende tekststrenge.

Huskeseddel over R's navngivne farver, hvor hver rude er farvet og mærket med sit navn, f.eks. brown4, gold, gray50 og steelblue

Generere farver

Til at finde farvekoder i RGB, Hex, HSL og andre formater findes blandt andet følgende værktøjer:

Farvekoder i ggplot2

Her følger flere eksempler med forskellige metoder til at farvekode grafer i ggplot2(). I det første eksempel specificeres punkternes farve med en tekststreng. Bemærk, at color ikke angives i aes(), fordi vi ikke bruger en data frame til at specificere farven.

ggplot(data=mpg, aes(x = displ,
                     y = hwy)) +
  geom_point(size=3, color='gold1')
Punktdiagram over motorvolumen (displ) mod forbrug ved landevejskørsel (hwy) med alle punkter i guldgul

I det næste eksempel specificeres punkternes farve med en HEX-kode. Vi bruger HEX-koden #2AB4CA, som er en lækker turkisblå farve. Bemærk igen, at color ikke angives i aes(), fordi vi ikke bruger en data frame til at specificere farven.

ggplot(data=mpg, aes(x = displ,
                     y = hwy)) +
  geom_point(size=3, color="#2AB4CA")
Punktdiagram over displ mod hwy med alle punkter i turkisblå fra HEX-koden #2AB4CA

I det næste eksempel specificeres punkternes farve med en variabel i vores data frame. Så skal color specificeres i aes(). Vi begynder med at mappe color til en numerisk variabel, nemlig `cty`, som angiver brændstofforbrug ved bykørsel. På figuren nedenfor fremgår det, at punkterne har fået en farve langs en farveskala, som forklares til højre for grafen. De mørkeste punkter har cty på 10, mens de lyseste har cty på 35, med en kontinuerlig skala derimellem. Det betyder, at en numerisk variabel mappes til en kontinuerlig farveskala med ggplot().

ggplot(data=mpg, aes(x = displ,
                     y = hwy)) +
  geom_point(size=3, aes(color=cty))
Punktdiagram over displ mod hwy, hvor punkterne farves langs en kontinuerlig blå skala efter cty, med farveforklaring fra 10 til 35

I det næste eksempel specificeres punkternes farve med en kategorisk variabel (factor) i vores data frame. Som det fremgår af billedet nedenfor, får de forskellige faktorniveauer distinkte farver, som forklares til højre for grafen.

ggplot(data=mpg, aes(x = displ,
                     y = hwy)) +
  geom_point(size=3, aes(color=class))
Punktdiagram over displ mod hwy, hvor punkterne har distinkte farver for hver bilklasse (class), med forklaring for syv klasser