Värvidest

Joonistamisel võime määrata ka kasutatava värvi (või värvid). Värvi saab valida kas värvi nime järgi; võib kasutada mõnda värvipaletti; võib määrata kui palju punast, kui palju rohelist ja kui palju sinist valgust tuleb värvi sisse panna või võime kasutada nn värvi numbrit. Vaheta alltoodud näites lehti ja vaata, kuidas erineval moel värve R'le ette anda.

  •  Värvi nimi 
  •  RGB 
  •  Värvipalett 
  •  Muid näiteid 

Värvid nime järgi. Värvide nimesid vaata siit.

barplot(table(aasta), col=c("pink", "gold", "khaki", "tan"))
















Värv punase, rohelise ja sinise sisalduse järgi.

barplot(table(aasta), col=c("#ffc0cb", "#f0c08c","#ffc000", "#cab48c"))

   #FF0000   #FFFFFF
   #0000FF   #000000
   #AAFF00   #909090

Määrad kui palju on värvis sees punast, kui palju rohelist ja kui palju sinist valgust. Iga värvi sisaldus on antud kuueteistkümnendsüsteemis kahekohalise numbri abil. Kümnendsüsteemis väärtuste etteandmiseks võid kasutada R'i funktsiooni rgb():

   rgb(0.5, 0.5, 0.5)
   rgb(128, 128, 128, maxColorValue=255)

Eksisteerivate värvide punase, rohelise ja sinise sisaldust saad vaadata käsuga col2rgb(), mis vaikimisi tagastab väärtused kümnendsüsteemis vahemikus 0-255:

   col2rgb("pink")
   as.character.hexmode(col2rgb("pink"))
   col2rgb(rainbow(8))


Värvid paleti pealt.

barplot(table(aasta), col=heat.colors(4))















R'i sisseehitatud palettide näidised (argumendiks antud number näitab, mitut erinevat värvi me antud paletist vajame:

Ka ise on võimalik käsuga colorRampPalette luua uusi palette. Tuleb lihtsalt ette anda pidepunkti-värvid, mille vahele siis R juba ise vajadusel vahepealseid toone lisab. Paar näidist:

Lisamoodulid

Ka R'i lisamoodulitest võib leida kauneid ja erinevateks ülesanneteks sobivaid palette. Kaks kenasid toone pakkuvat paletti on olemas lisamoodulis gplots, vaata alltoodud kasutusnäidet ja tema abil saadud tulemust:

# Loeme sisse lisamooduli gplots
library(gplots)

# Jagame graafikaakna kaheks ja seame taustavärviks halli
par(mfrow=c(1,2), bg="gray")

# Tekitame "algandmed"
m = matrix(1:120+rnorm(120), nrow=15, ncol=8)

# Joonistame graafikud kasutades rich.colors-paletti:
matplot(m, type="l", lty=1, lwd=3, col=rich.colors(8,"blues"))
matplot(m, type="l", lty=1, lwd=3, col=rich.colors(8) )


Ka lisamoodulis RColorBrewer on palju kaunilt valitud palette, paraku küll väga piiratud maksimaalsete värvide arvuga (max n). Kui vajad rohkem vahepealseid toone, võid kasutada mõnda RColorBrewer'i paletti koos käsuga colorRampPalette. Vaata tingimata ka järgnevat kasutusnäidet!

Lisamooduli RColorBrewer palettide kasutamine on veidi ebaharilik. Funktsioonile brewer.pal tuleb ette anda nii soovitud värvide arv kui ka kasutatava paletti nimi, vaata ka järgmist näidet:

library(RColorBrewer)
barplot(table(sport), col=brewer.pal(6,"YlGn"))



Läbipaistvad värvid


R toetab osaliselt ka poolläbipaistvaid värve. Mida enam poolläbipaistva tooniga värvitud punktikesi ühte kohta laduda, seda tumedamaks vastav punkt muutub. Sestap võimaldavad poolläbipaistvad värvid saada ka ettekujutust sellest, mis kõige pealmise punkti (või muu kujundi) alla peitu on jäänud. Paraku ei pruugi poolläbipaistvaid värve kasutatavate joonistega olla võimalik teha kõiki harjumuspäraseid toiminguid (näiteks ei tööta Copy as metafile).

Siintoodud joonise, mis kasutab poolläbipaistvaid punkte, tegi järgmine programm:

# Tekitame "algandmed"
x=rnorm(10000)
y=rnorm(10000)

# Joonistame hajuvusgraafiku kasutades 10% katvusega sinist
# (ehk 90% allajäävast kumab läbi)
plot(x,y, col=rgb(0,0,1,0.1), pch=20, cex=1.7)

Poolläbipaistva värvi saamiseks tuleb näiteks värvi RGB-esitusele lisada neljas, värvi katvust iseloomustav näitaja. Vaata ka alltoodud näiteid, kus kasutatakse erineva läbipaistvusega ringikesi.





Vaata lisaks: