Zacznij terazZacznij za darmo

Optymalizacja wykresu pod urządzenia mobilne

Tytuł osi X jest już właściwie zbędny, ponieważ dodano etykiety dla obu lat. Teraz dodasz etykiety krajów do wykresu – dzięki temu wszystkie osie będą mogły zostać usunięte.

W tym ćwiczeniu spotkasz się z czymś, co może być dla ciebie nowością: poszczególnym geometriom, takim jak geom_text(), można przekazać osobny zbiór danych, niezależny od tego podanego w wywołaniu ggplot(). Przyda się to tutaj, ponieważ chcesz dodać jedną etykietę do każdej strzałki. Gdybyś użyć oryginalnego zbioru ilo_data, dla każdego kraju pojawiłyby się dwie etykiety – jedna dla roku 1996 i jedna dla 2006.

To ćwiczenie jest częścią kursu

Komunikacja danych w Tidyverse

Zobacz kurs

Instrukcje do ćwiczenia

  • Utworzono nowy zbiór danych median_working_hours, dzięki czemu każdy kraj będzie miał tylko jedną etykietę. Przyjrzyj się jego strukturze za pomocą str().
  • Użyj median_working_hours jako argumentu data w nowym wywołaniu geom_text(), aby dodać etykiety dla każdego kraju.
    • Poprawnie określ wymagane właściwości estetyczne dla geom_text(): x oraz label, wskazując na odpowiednie zmienne ze zbioru median_working_hours.
  • Usuń wszystkie osie i siatkę tła, podając funkcję element_blank() dla wszystkich argumentów axis. oraz panel.grid w niestandardowym wywołaniu theme().
  • Po uruchomieniu finalnego kodu zmień rozmiar okna wykresu po prawej stronie, symulując ekran urządzenia mobilnego w trybie pionowym (wąski i wysoki) – wszystkie etykiety powinny zmieścić się w obszarze wykresu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
  )
Edytuj i uruchom kod