6. nodaļa. Attēlu sadalīšana

Viena no ggplot2 sistēmas lielajām priekšrocībām ir tā, ka izmantojot tam speciāli paredzētas funkcijas (facet_wrap() un facet_grid()), ir iespējams sadalīt attēlu vairākās daļās balstoties uz vienu vai vairākiem mainīgiem, kur katrs mazais attēls ir daļa no kopējā datu attēlojuma.

6.1 facet_grid()

Izmantojot funkciju facet_grid(), var norādīt divus mainīgos pēc kuriem dalīt datus. Pirmais mainīgais (pirms tildes zīmes) norāda dalījumu rindās, bet otrais mainīgais aiz tildes zīmes norāda dalījumu kolonnās. Ja ir vēlme dalīt tikai vienā dimensijā, tad neizmantotās dimensijas (mainīgā) vietā jānorāda “.”.

Pirmajā piemēra attēls sadalīts mazākos attēlos balstoties tikai uz mainīgo Type kolonnās (6.1 attēls).

ggplot(CO2, aes(conc, uptake)) + geom_point() + 
      facet_grid(. ~ Type)
Attēla sadalīšana kolonnās balstoties uz vienu mainīgo

6.1 attēls. Attēla sadalīšana kolonnās balstoties uz vienu mainīgo

Norādot mainīgo Treatment pirms tildes zīmes, izveidojas attēls, kas sadalīts rindās atbilstoši šī mainīgā līmeņiem (6.2 attēls).

ggplot(CO2, aes(conc, uptake)) + geom_point() + 
      facet_grid(Treatment ~ .)
Attēla sadalīšana rindās balstoties uz vienu mainīgo

6.2 attēls. Attēla sadalīšana rindās balstoties uz vienu mainīgo

Norādot abus divus mainīgos, izveidojas attēls, kurā mazie attēliņi ir atbilstošo mainīgo līmeņu kombinācijas (6.3 attēls).

ggplot(CO2,aes(conc,uptake)) + geom_point() + 
      facet_grid(Treatment ~ Type)
Attēla sadalīšana balstoties uz diviem mainīgiem

6.3 attēls. Attēla sadalīšana balstoties uz diviem mainīgiem

Pievienojot argumentu margins = TRUE, var panākt, ka veidojas ne tikai atsevišķi mazie attēli, bet arī attēli, kuros mainīgo līmeņi skatīti kopā (6.4 attēls).

ggplot(CO2,aes(conc, uptake)) + geom_point() + 
      facet_grid(Treatment ~ Type,margins = TRUE)
Attēla sadalīšana balstoties uz diviem mainīgiem, parādot arī kopējos attēlus

6.4 attēls. Attēla sadalīšana balstoties uz diviem mainīgiem, parādot arī kopējos attēlus

6.2 facet_wrap()

`facet_wrap() gadījumā mazie attēliņi tiek novietoti viens aiz otra, ar iespēju norādīt cik rindās/kolonnās tos nepieciešams izvietot. Attēlu sadalīšanu var veikt, piemēram, ar vienu mainīgo (nav jāizmanto “.” pirms tildes) (6.5 attēls).

ggplot(mpg, aes(cty, hwy)) + geom_point() + 
      facet_wrap(~ class, ncol = 4)
Attēla sadalīšana daļās ar facet_wrap()

6.5 attēls. Attēla sadalīšana daļās ar facet_wrap()

Dalīšanu daļās var veikt arī ar vairākiem mainīgajiem, norādot tos aiz tildes zīmes (6.6 attēls).

ggplot(mpg, aes(cty, hwy)) + geom_point() + 
      facet_wrap(~cyl + drv, ncol = 4)
Attēla sadalīšana daļās ar facet_wrap() un diviem mainīgiem

6.6 attēls. Attēla sadalīšana daļās ar facet_wrap() un diviem mainīgiem

Attēla sadalīšanai daļās var izmantot arī papildus funkcijas, piemēram, sadalot skaitlisku mainīgo daļās (6.7 attēls).

ggplot(mpg,aes(cty,hwy)) + geom_point() + 
      facet_wrap(~cut_number(displ, 6))
Attēla sadalīšana daļās ar facet_wrap() un dalījums balstās uz skaitlisku mainīgo, kas sadalīts intervālos

6.7 attēls. Attēla sadalīšana daļās ar facet_wrap() un dalījums balstās uz skaitlisku mainīgo, kas sadalīts intervālos