Začněte nyníZačněte zdarma

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

Zobrazit kurz

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žij median_working_hours jako argument data, aby se ke každé zemi přidal popisek.
    • Správně zadej požadované estetiky pro geom_text(): x a label, které musí odkazovat na správné proměnné z datové sady median_working_hours.
  • Odstraň všechny osy i mřížku pozadí tak, že pro všechny argumenty začínající na axis. a pro argument panel.grid v vlastním volání theme() zadáš funkci element_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)
  )
Upravit a spustit kód