Skip to main content

Jazyk R a tvorba grafů (Ukázka, strana 99)

Page 1

Obrázek 3.8: Přehled typů čar, číselných a jmenných kódů Kód 3.19:

ggplot(UKgas.l, aes(x = year, y = consumption, group = quarter)) + geom_line(linetype = 4) Kód 3.20:

ggplot(UKgas.l, aes(x = year, y = consumption, group = quarter, linetype = quarter)) + geom_line() U širokého formátu dat argument linetype umístíme do příslušné vrstvy. Kdybychom chtěli zobrazit i legendu, je potřeba ho umístit do listu mapping = aes() příslušné vrstvy. Hodnota se pak nerovná číselnému či textovému označení symbolu, ale názvu, který se má zobrazit v legendě. Typ čáry je vybrán automaticky a je možné ho manuálně upravit stejně jako u dlouhého formátu dat ve funkci scale_linetype_manual(). Kód 3.21:

ggplot(UKgas.s, aes(x = year)) + geom_line(aes(y = quarter1), linetype = 3) + geom_line(aes(y = quarter2), linetype = "dashed") Kód 3.22:

ggplot(UKgas.s, aes(x geom_line(aes(y = geom_line(aes(y = geom_line(aes(y = geom_line(aes(y =

= year)) + quarter1, linetype quarter2, linetype quarter3, linetype quarter4, linetype

= = = =

"Q1")) + "Q2")) + "Q3")) + "Q4"))

98 Jazyk R a tvorba grafů

Ukázka elektronické knihy, UID: KOS507117


1200

quarter

900

quarter1

600

quarter2

300

quarter4

quarter3

1960

1970

year

1980

(a) Dlouhý formát

linetype

900

quarter1

consumption

1200

Q1

600

Q2

300

Q4

Q3

1960

1970

year

1980

(b) Široký formát

Obrázek 3.9 (Kód 3.20, Kód 3.22): Porovnání grafů při změně typu čar dle kategorie

Další úpravy čar U čárového grafu můžeme upravovat sílu čar pomocí argumentu size, barvu pomocí colour nebo průhlednost pomocí alpha. Všechny tyto úpravy se provádějí analogicky jako pro typ čáry linetype a jsou detailněji popsány v kapitole 3.16. Kombinace bodového a čárového grafu Bodový a čárový graf lze kombinovat. Stačí přidat další funkci k již vytvořenému grafu. Chceme-li například čárový graf, který bude mít vyznačeny jednotlivé body, zahrneme do grafu jak funkci geom_point(), tak geom_line(). Pro lepší náhled grafu je v ukázce datová tabulka zkrácena. Kód 3.23:

ggplot(UKgas.l[61:108,], aes(x = year, y = consumption, colour = quarter)) + geom_point() + geom_line() Vykreslení funkce Další typickým požadavkem může být vykreslení dané matematické funkce. Pro vykreslování funkcí lze použít funkci stat_function(), kde do argumentu fun napíšeme název funkce, kterou chceme použít. Funkce může být defaultní, nebo vlastní. Vytvoří se čárový graf. Do argumentu fun vstoupí název této funkce již bez závorky. Není možné upravovat její další argumenty. Pokud je chceme nastavit, je třeba ji vytvořit jako funkci vlastní, která poté vstoupí do argumentu fun. Vytváření vlastních funkcí je detailně popsáno v kapitole 1.6.2. V hlavní funkci ggplot() v argumentu data tak stačí definovat pouze datovou tabulku s hodnotami pro souřadnice x, neboť souřadnice y dopočítá funkce stat_function() dle specifikované funkce. K demonstraci použijeme funkci sinus a do argumentu fun vstoupí hodnota sin.

2D grafy pomocí ggplot2 99

Ukázka elektronické knihy, UID: KOS507117


Kód 3.24:

ggplot(data.frame(x = c(0,6*pi)), aes(x)) + stat_function(fun = sin) 1.0

quarter

900

0.5

quarter1 quarter2

600

0.0

y

consumption

1200

quarter3 quarter4

−0.5

300 −1.0 1977

1980

year

1983

1986

0

5

(a) Bodový a čárový graf

10

15

x

(b) Funkce sinus Obrázek 3.10 (Kód 3.23): Práce s čárovým grafem

3.5 Jednoduchý sloupcový graf (bar plot) K vytvoření sloupcového grafu využijeme funkci geom_bar(). Nejjednodušší graf vznikne, máme-li v datové tabulce pro každou kategorii právě jednu číselnou hodnotu, která reprezentuje výšku sloupce. Argumentem stat nastaveným jako "identity" ve funkci geom_ bar() definujeme, že žádná další funkce nemá být na data aplikována. Ve funkci ggplot() specifikujeme vstup osy x kategoriální proměnnou a vstup osy y proměnnou, ve které jsou uloženy číselné hodnoty. Chceme-li horizontální sloupcový graf, stačí přidat funkci coord_flip(). Použité datové tabulky UKgas.bar a UKgas.l jsou definovány v kapitole 2.5. Kód 3.25:

ggplot(UKgas.bar, aes(x = quarter, y = consumption)) + geom_bar(stat = "identity")

300

consumption

Q4

quarter

200

100

Q3 Q2 Q1

0

Q1

Q2

quarter

Q3

Q4

0

(a) Klasický

100

200

consumption

(b) Horizontální

Obrázek 3.11 (Kód 3.25, Kód 3.26): Základní sloupcový graf

100 Jazyk R a tvorba grafů Ukázka elektronické knihy

300


Turn static files into dynamic content formats.

Create a flipbook
Jazyk R a tvorba grafů (Ukázka, strana 99) by Kosmas-CZ - Issuu