Kapitola 17 Vizualizace dat s balíkem ggplot2
V R existuje celá řada nástrojů pro vizualizaci dat, které jsou opravdu velmi heterogenní. Z úvodních lekcí znáte příklady tzv. base
grafiky, která přichází s každou instalací R. Příklad může být Vám známá funkce plot()
. Tato základní implementace nástrojů pro vizualizaci dat sleduje podobnou logiku jako je obvyklá v ostatních systémech: uživatel explicitně sděluje systému co a jak má vykreslit: “Na souřadnice [X,Y] nakresli zelený křížek”.
Součástí tidyverse je balík ggplot2, který přistupuje k vizualizaci zcela jiným způsobem – a to na mnoha úrovních. ggplot2 je založen na teorii “grammar of graphics” (Wilkinson 2005, 2010) a pracuje na mnohem vyšší úrovni abstrakce. Uživatel vlastně předává funkci jako vstup popis dat a konkrétní provedení vizualizace nechává na ni. Tento způsob práce je poměrně neobvyklý, ale po jeho zvládnutí už neexistuje cesta zpět.
ggplot2 má jedno základní omezení – kreslí pouze 2D obrázky. Na konci kapitoly však uvidíte, že nic jiného pravděpodobně ani nepotřebujete.
Co se v této lekci naučíte?
- základní logiku fungování ggplot2
- základní logiku ovládání ggplot2
- provést jednoduché vizualizace dat a modifikovat jejich vzhled
Složitější úkoly přijdou později.
Let’s lock and load…
17.0.0.1 Poznámka
ggplot2 je tak populární, že existují i jeho porty pro jiné jazyky – například pro Python. I v samotném světě R existuje balík, který s ggplot2 sdílí nejen filosofii, ale i tvůrce. Balík ggvis obsahuje oproti ggplot2 některá koncepční vylepšení. Celkově je však orientován spíše na interaktivní grafiku a proto pro naše účely není tak vhodný. Nicméně kdo pochopí ggplot2 zvládne lehce i ggvis.
Vyhodou popularity ggplot2 je i obrovske mnozstvi baliku, ktere moznosti ggplot2 doplnuji nebo rozsiruji. Pokud tedy neco neumi samotny ggplot2 je rozumne porozhlednout se po balicich, ktere hledanou funkcionalitu doplnuji. Neuplnou galerii "rozsireni"" muzete najit napriklad zde: http://www.ggplot2-exts.org/gallery/
17.0.0.1.1 Poznámka 2
POdobně jako ostatní součásti tidyverse se i ggplot2 dramaticky vyvíjí. Tento materiál byl například původně vytvořen s verzí 2.x. Nyní (září 2019) je aktuální verze 3.2.1. Nové verze přinesly zásadní změny, které se však v drtivě většině odehrály “pod povrchem” a pro uživatele nejsou patrné.
Velkou změnou pro uživatele je uvedení geom_sf()
, který radikálním způsobem zjednodušuje kreslení map.