ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point()
ggplot2 sistēmā izveidoto attēlu izskata mainīšanai var izmantot iepriekš sagatavotas attēla noformēšanas tēmas, vai arī var mainīt katru elementu atsevišķi. Mainot noformējumu, mainās tikai tās attēla daļas, kas nav saistītas attēlojamiem datiem.
Pakotnē ggplot2 ir definētas gatavas tēmas attēla izskata maiņai. Attēlā noformējums mainās, pieskaitot klāt atbilstošo tēmas funkciju. Katrā tēmā papildus ir iespējams mainīt pamatteksta izmēru (base_size =) un pamatfontu (base_family =). Gatovos tēmu noformējumus protams var papildināt arī ar citām izmaiņām konkrētiem elementiem. Attēlos Figure 6.1, Figure 6.2, Figure 6.3, Figure 6.4, Figure 6.5, Figure 6.6, Figure 6.7, Figure 6.8 un Figure 6.9 parādīts kā izskatās sākotnējais attēls un kā tas mainās, izmantojot kādu no gatavajām tēmām.
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point()
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme_bw()
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme_classic()
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme_dark()
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme_grey()
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme_light()
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme_linedraw()
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme_minimal()
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme_void()
Papildus jau definētajām attēla noformējuma tēmām, ir iespējams mainīt gandrīz katru no attēla elementiem atsevišķi, izmantojot funkciju theme() un atbilstošo elementa nosaukumu. Pilnu sarakstu ar elementu nosaukumiem var iegūt apskatot funkcijas theme() palīdzības lapu.
Elementu izskatu maiņa notiek pēc vienota principa - sākotnēji ir funkcija theme(), kurā kā arguments jānorāda maināmais elements, piemēram, axis.text.x = un tad nāk funkcija, kas norāda kāda izmaiņas veikt. Ir pieejamas trīs funkcijas element_text(), element_line() un element_rect(), kuras ir jāizraugas atbilstoši tam, kāda veida maināmais elements tas ir - teksts, līnija vai reģions (poligons). Katra elementa maiņa nav jāraksta savā theme() funkcijā, bet tie var būt vairāki argumenti vienā funkcijā.
Teksta elementiem (element_text()) var mainīt teksta fontu grupu (family =), fonta veida (face =), krāsu (color =), izmēru (size =), novietojumu horizentāli (hjust =) un vertikāli (vjust =), teksta leņķi (angle =), līnijas augstumu (lineheight =), atstarpes (margin =).
Līniju elementiem (element_line()) var mainīt krāsu (color =), līnijas biezumu (linewidth=), līnijas veidu (linetype =), līnijas nobeigumu (lineend =) un pievienot bultu (arrow =).
Reģiona jeb poligona elementiem (element_rect()) var mainīt aizpildījumu (fill =), krāsu līnijai apkārt reģionam (color =), līnijas biezumu (linewidth =) un līnijas veidu (linetype =).
Ir pieejama arī speciāla funkcija element_blank(), kas no attēla noņems atbilstošo elementu, turklāt “pazudīs” arī šim elementam atvēlētā vieta, ja tas būs, piemēram, asu paraksts, vai asu apzīmējumi.
Attēla virsraksta izskatu (bet ne tā saturu) maina ar argumentu plot.title =.
Pirmajā piemēra teksta virsraksts pārveidots zaļā krāsā, 20 fonta izmērā un slīprakstā (Figure 6.10 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
labs(title = "CO2 attēls")+
theme(plot.title = element_text(colour = "darkgreen",
size = 20,
face = "italic"))
Virsraksts automātiski ir novietots attēla kreisajā pusē. To var izmainīt ar argumentu hjust = un vērtību 0.5 (0 - kreisā mala, 1 - labā mala, 0.5 - pa vidu) (Figure 6.11 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
labs(title = "CO2 attēls")+
theme(plot.title = element_text(hjust = 0.5))
Ja attēlam ir arī apakšvirsraksts, tad tā izskatu maina ar argumentu plot.subtitle = (Figure 6.12 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
labs(title = "CO2 attēls", subtitle = "Koncentrācijas ietekme")+
theme(plot.subtitle = element_text(face = "bold",
colour = "blue"))
Asu parakstu maiņa notiek ar elementu axis.title = (abas asis vienlaicīgi), vai axis.title.x = un axis.title.y = mainot katras ass izskatu atsevišķi.
Asu paraksti arī ir teksts, tāpēc izmantojama funkcija element_text() (Figure 6.13 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(axis.title = element_text(size = 15,
face = "bold"))
Izmantojot argumentus axis.title.x = un axis.title.y = var mainīt katru asi atsevišķi, piemēram, vienais asij noņemot parakstu, bet otrai to izmainot (Figure 6.14 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(axis.title.x = element_blank(),
axis.title.y = element_text(colour = "red"))
Apzīmējumus pie asīm (skaitļus vai līmeņu nosaukumus) maina ar argumentiem axis.text =, axis.text.x =, vai axis.text.y = (Figure 6.15 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(axis.text.x = element_text(angle = 45, hjust = 1),
axis.text.y = element_text(angle = 90, hjust = 0.5))
Pēc noklusējuma vairākām tēmām nerādās asu līnijas. Tās var pievienot ar argumentu axis.line =, vai axis.line.x = un axis.line.y =. Tā kā tās ir līnijas, tad to izskata maiņai izmanto funkciju element_line() (Figure 6.16 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(axis.line = element_line(linetype = "longdash"))
Asu līniju galos ir iespējams arī pievienot bultiņu ar argumentu arrow = un funkciju arrow(), kurā norāda argumentu length = un bultiņas garumu un mērvienību (funkcijā unit()) (Figure 6.17 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(axis.line = element_line(arrow = arrow(length = unit(2, 'mm'))))
Leģendas novietojuma nosaka ar argumentu legend.position = un iespējamām vērtībām "none", "left", "right", "bottom" un "top" (Figure 6.18 attēls).
ggplot(CO2, aes(conc,uptake, color = Type)) + geom_point() +
theme(legend.position = "bottom")
Ja nepieciešams novietot leģendu attēla iekšienē, tad jānorāda relatīvās x un y koordinātes, kur c(0,0) atbilst attēla apakšējam kreisajam stūrim un c(1,1) attēla augšējam labajam stūrim (Figure 6.19 attēls).
ggplot(CO2,aes(conc, uptake, color = Type)) + geom_point() +
theme(legend.position = c(0.1,0.8))
Leģendas novietojumā var mainīt arī leģendas ierakstu izvietojumu horizontāli vai vertikāli ar argumentu legend.direction = (Figure 6.20 attēls)
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(legend.position = "bottom",
legend.direction = "vertical")
Leģendas novietojumu var ietekmēt arī mainot atstarpi starp leģendu un pamatattēlu ar argumentu legend.box.spacing = un funkciju unit(), kurā norāda vēlamo atstarpes izmēru un mērvienību (Figure 6.21 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(legend.box.spacing = unit(1, "cm"))
Leģendas virsrakstam var mainīt izskatu (legend.title =) līdzīgi kā citiem teksta elementiem, kā arī mainīt leģendas virsraksta novietojumu, funkcijā element_text() norādot argumentu hjust = ar vērtībām no 0 (pa kreisi) līdz 1 (pa labi) (Figure 6.22 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(legend.title = element_text(size = 15,
color = "darkgreen",
face = "bold.italic",
hjust = 1))
Kopējo leģendas pamatnes izskatu var mainīt ar argumenu legend.background = un funkciju element_rect() (Figure 6.23 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(legend.background = element_rect(fill = "grey73",
colour = "black"))
Ja attēlam ir divas vai vairākas leģendas, tad legend.background = maina katras atsevišķas leģendas pamatni, bet kopējo pamatni maina ar argumentu legend.box.background = (Figure 6.24 attēls).
ggplot(CO2, aes(conc, uptake, color = Type, shape = Treatment)) + geom_point() +
theme(legend.box.background = element_rect(fill = "grey73",
colour = "black"),
legend.background = element_rect(fill = "grey90"))
Leģendas ierakstu tekstus maina ar argumentu legend.text = un funkciju element_text(), kur size = un angle = maina izskatu, bet hjust = maina novietojumu pa kreisi (0) vai labi (1) (Figure 6.25 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(legend.text = element_text(size = 7,
angle = 5,
hjust = 0.8))
Pašu leģendas ierakstu, kuros parādās, piemēram, krāsu līmeņi vai simbolu veidi, mainīšanai ir pieejams parametrs legend.key =, kas maina ieraksta pamatnes izskatu (Figure 6.26 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(legend.key = element_rect(fill = "lightblue",
color = "blue"))
Leģendas ierakstu pamatnes izmēru maiņai izmanto argumentu legend.key.size =, kas uzreiz maina vienādā apjomā gan platumu, gan augstumu, vai arī parametrus legend.key.height = un legend.key.width =, kas attiecīgi maina tikai augstumu, vai tikai platumu. Visiem šiem argumentiem ir jāizmanto funkcija unit(), lai noteiktu šo izmēru (Figure 6.27 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(legend.key.height = unit(0.5, "cm"),
legend.key.width = unit(1, "cm"))
Attēla iekšējās daļas pamatnes izskata maina ar argumentu panel.background =. Ja šo argumentu lieto kopā ar funkciju element_blank(), tad tiek noņemta pamatne, tai skaitā, arī krāsa (aizpildījums) (Figure 6.28 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(panel.background = element_blank())
Lai noņemtu tikai krāsu, arguments fill = jānorāda kā NA. Ja papildus norāda argumenu color =, tad apkārt attēla iekšējai daļai parādās līnija (Figure 6.29 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(panel.background = element_rect(fill = NA, color = "black"))
Visu palīglīniju ietekmēšanai jāizmanto arguments panel.grid =, piemēram, tā vērtību norādot kā element_blank() tiks noņemtas visas palīglīnijas (Figure 6.30 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(panel.grid = element_blank())
Ir iespējams arī ietekmēt atsevišķi visas galvenās palīglīnijas un mazās palīglīnijas, attiecīgi ar argumentiem panel.grid.major = un panel.grid.minor =. Var ietekmē arī atsevišķi šīs palīglīnijas attiecībā pret x un y ass ar argumentiem kā panel.grid.major.x = (Figure 6.31 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(panel.grid.major.x = element_line(colour = "lightblue"),
panel.grid.major.y = element_line(linetype = "dashed",
linewidth = 2))
Tiem attēliem, kas ir sadalīti daļās izmantojot facet_...() funkcijas, atsevišķu attēlu nosaukumu tekstu pamatnes maina ar elementu strip.background =, bet pašu tekstu izskatu ar strip.text = (visus kopā), vai arī ar argumentiem strip.text.x = (horizontālie nosaukumi) un strip.text.y = (vertikālie nosaukumi) (Figure 6.32 attēls).
ggplot(CO2, aes(conc, uptake)) + geom_point() +
facet_grid(Treatment ~ Type) +
theme(strip.background = element_rect(colour = "black", fill = NA),
strip.text.x = element_text(face = "italic"),
strip.text.y = element_text(face = "bold"))
Visa kopējā attēla pamatnes (fona) noteikšanai izmanto argumentu plot.background = (Figure 6.33 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(plot.background = element_rect(fill = "lightgreen"))
Visam attēlam var mainīt arī malas izmērus, kas atrodas apkārt. To nosaka ar argumentu plot.margin = un funkcijā unit() norādot četrus skaitļus, kas atbilst attiecīgi augšejai, labajai, apakšējai un kreisajai malai (Figure 6.34 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(plot.margin = unit(c(2, 2, 3, 3), "cm"))
Attēla noformējuma nosacījumus nav obligāti jāpievieno attēlam kā atsevišķas funkcijas theme(), bet visus nepieciešamos elementus var norādīt vienās theme() iekavās (Figure 6.35 attēls).
ggplot(CO2, aes(conc, uptake, color = Type)) + geom_point() +
theme(axis.text = element_text(size = 12, color = "darkgreen"),
axis.title = element_text(size = 15, color = "darkblue", face = "italic"),
panel.background = element_rect(fill = NA),
axis.line = element_line(color = "black"),
legend.position = "top")
Noformējumu ir iespējams arī definēt kā atsevišķu objektu, kuru tad var izmantot atkāroti, lai vairākiem attēliem iegūtu identisku noformējumu (Figure 6.36 attēls).
tema <- theme(axis.text = element_text(size = 12, color = "darkgreen"),
axis.title = element_text(size = 15, color = "darkblue", face = "italic"),
panel.background = element_rect(fill = NA),
axis.line = element_line(color = "black"),
legend.position = "top")
ggplot(CO2, aes(uptake, fill = Treatment)) + geom_histogram(binwidth = 5) +
tema