4.3 scale_colour_…() un scale_fill…()

Gadījumos, kad formu (punktu, līniju) krāsa ir atkarīga no kāda mainīgā ar argumentu colour =, šo krāsu un izveidoto leģendu mainīšanai ir jāizmanto funkcijas no grupas scale_colour...(). Analoģiski, ja aizpildījuma krāsa ir noteikta ar argumentu fill =, tad jāizmanto funkcijas no grupas scale_fill..()

Krāsu (aizpildījuma) skalas veids ir atkarīgs no mainīgā veida, kas izmantots nosakot krāsu. Ja tas ir diskrēts (kategorijas), tad jāizmanto funkcija scale_colour_discrete() vai scale_fill_discrete(), kurā kā citās kategorijas skalās var norādīt nosaukumu, kas parādīsies leģendā (name =), kādā veidā nosaukt līmeņus leģendā (labels =) un kurus līmeņus parādīt attēlā (limits =) (4.8 attēls).

ggplot(mpg, aes(cty, hwy, colour = drv)) + geom_point() +
      scale_colour_discrete(name = "Piedziņas veids",
                            labels = c("Visi","Priekšējie","Pakaļējie"))
Izkliedes attēls ar mainītu leģendas izskatu

Attēls 4.8: Izkliedes attēls ar mainītu leģendas izskatu

Pašu krāsu (aizpildījumu) mainīšanai var izmantot vairākas pieejas, piemēram, izmantot funkciju scale_colour_hue() vai scale_fill_hue() un mainīt trīs parametru vērtības: l =, h = un c =, kas attiecīgi apzīmē luminance, hues un chroma (4.9 attēls).

ggplot(mpg, aes(cty, hwy, colour = drv)) + geom_point() +
      scale_colour_hue(h=c(60,190))
Izkliedes attēls, kurā mainītas krāsu gamma

Attēls 4.9: Izkliedes attēls, kurā mainītas krāsu gamma

Gatavu krāsu palešu izmantošanai, jāizmanto funkcija scale_colour_brewer() vai scale_fill_brewer(), norādot vēlamo krāsu paleti (palette =) (4.10 attēls).

ggplot(mpg, aes(cty, hwy, colour = drv)) + geom_point() +
      scale_colour_brewer(palette = "Set2")
Izkliedes attēls ar noteiktu krāsu paleti

Attēls 4.10: Izkliedes attēls ar noteiktu krāsu paleti

Pilnīgai kontrolei pār attēla krāsām jāizmanto scale_colour_manual() vai scale_fill_manual(), kas ļauj izmantot paša izvēlētas krāsas (arguments values =), rakstot to angliskos nosaukumus vai izmantojot Hex kodus. Krāsu skaitam ir jābūt identiskam, līmeņu skaitam datos (4.11 attēls).

ggplot(mpg, aes(drv, fill = drv)) + geom_bar() +
      scale_fill_manual(values = c("orange","black","deepskyblue"))
Stabiņu attēls ar manuāli noteiktām aizpildījuma krāsām

Attēls 4.11: Stabiņu attēls ar manuāli noteiktām aizpildījuma krāsām

Ja krāsa vai aizpildījums ir atkarīgs no skaitliska mainīgā, tad to mainīšanai var izmantot, piemēram, funkcijas scale_colour_gradient(), scale_colour_gradient2() un scale_colour_gradientn(), vai to analogus scale_fill_gradient(), scale_fill_gradient2() un scale_fill_gradientn(). Šīs funkcijas attiecīgi noteiks krāsu kā pāreju no zemākā uz augstāko toni, kā pāreju starp divām atšķirīgām krāsām, vai arī kā gradientu no vairāk kā divām krāsām (4.12 attēls).

ggplot(CO2, aes(conc, uptake, colour = uptake)) + geom_point() +
      scale_colour_gradient(low="white",high = "black")
Izkliedes attēls, kurā krāsa mainās kā gradients

Attēls 4.12: Izkliedes attēls, kurā krāsa mainās kā gradients

Norādot divas ļoti atšķirīgas krāsas, veidosies pārēja no vienas krāsas uz otru krāsu ar balto pa vidu. Pēc noklusējuma baltā krāsa atbildīs vērtībām 0, bet, ja nepieciešams cits viduspunkts, tas jānorāda ar argumentu midpoint = (4.13 attēls).

ggplot(CO2, aes(conc, uptake, colour = uptake)) + geom_point() +
      scale_colour_gradient2(low="red",high = "blue", midpoint = 30)
Izkliedes attēls, kurā krāsa mainās kā gradients no sarkanās uz zilo

Attēls 4.13: Izkliedes attēls, kurā krāsa mainās kā gradients no sarkanās uz zilo