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"))
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))
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")
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"))
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")
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)