Optimalizace grafu pro mobilní zařízení
Popis osy x je teď víceméně nadbytečný, protože jsi přidal/a popisky pro oba roky. Teď přidáš do grafu také popisky zemí – díky tomu bude možné obě osy úplně odstranit.
V tomto cvičení narazíš na něco, co pravděpodobně ještě neznáš: jednotlivým geometriím, jako je geom_text(), lze předat vlastní datovou sadu, takže nemusí využívat tu, která byla zadána v úvodním volání ggplot(). Tady to oceníš, protože ke každé šipce chceš přidat pouze jeden popisek. Kdybys použil/a původní datovou sadu ilo_data, přidaly by se popisky dva – pro každou zemi totiž existují dvě pozorování, jedno za rok 1996 a jedno za rok 2006.
Toto cvičení je součástí kurzu
Komunikace s daty v Tidyverse
Pokyny k cvičení
- Byla připravena nová datová sada
median_working_hours, která zajistí, že ke každé zemi bude přiřazen právě jeden popisek. Prohlédni si její strukturu pomocístr(). - V novém volání
geom_text()použijmedian_working_hoursjako argumentdata, aby se ke každé zemi přidal popisek.- Správně zadej požadované estetiky pro
geom_text():xalabel, které musí odkazovat na správné proměnné z datové sadymedian_working_hours.
- Správně zadej požadované estetiky pro
- Odstraň všechny osy i mřížku pozadí tak, že pro všechny argumenty začínající na
axis.a pro argumentpanel.gridv vlastním volánítheme()zadáš funkcielement_blank(). - Po spuštění finálního kódu změň velikost okna s grafem napravo tak, aby napodobovalo displej mobilního zařízení v režimu na výšku (úzký a vysoký) – všechny popisky se do grafu vejdou.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Compute temporary data set for optimal label placement
median_working_hours <- ilo_data %>%
group_by(country) %>%
summarize(median_working_hours_per_country = median(working_hours)) %>%
ungroup()
# Have a look at the structure of this data set
___
ilo_dot_plot +
# Add label for country
geom_text(data = ___,
aes(y = country,
x = ___,
label = ___),
vjust = 2,
family = "Bookman",
color = "gray25") +
# Remove axes and grids
theme(
axis.ticks = ___,
axis.title = ___,
axis.text = ___,
panel.grid = ___,
# Also, let's reduce the font size of the subtitle
plot.subtitle = element_text(size = 9)
)