Etykiety i kolejność faset

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Rick Scavetta

Founder, Scavetta Academy

Nowa ramka danych

# Plot
p <- ggplot(msleep2, aes(bodywt_log,
                         brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  coord_fixed()

p

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Nowa ramka danych z fasetami

p +
  facet_grid(rows = vars(vore))

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Nowa ramka danych z fasetami

p +
  facet_grid(rows = vars(vore))

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Słabe etykiety i kolejność

p +
  facet_grid(rows = vars(vore))

Typowe problemy z fasetami:

  • Słabe etykiety (np. nieopisowe)
  • Niewłaściwa kolejność

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Słabe etykiety i kolejność

p +
  facet_grid(rows = vars(vore))

Rozwiązania:

  • Proste: dodaj etykiety w ggplot
  • Lepsze: zmień etykiety i kolejność zmiennych czynnikowych w ramce danych

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Argument labeller

# Default is to label the value
p +
  facet_grid(rows = vars(vore), 
             labeller = label_value)

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

label_both dodaje nazwę zmiennej

# Print variable name also
p +
  facet_grid(rows = vars(vore), 
               labeller = label_both)

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Dwie zmienne po jednej stronie

p +
  facet_grid(rows = vars(vore, 
                         conservation))

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

label_context eliminuje niejednoznaczność

p +
  facet_grid(rows = vars(vore,
                         conservation),
               labeller = label_context)

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Stosuj wiersze i kolumny w odpowiednich przypadkach

p +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation),
             labeller = label_context)

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Stosuj wiersze i kolumny w odpowiednich przypadkach

p +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation))

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Stosuj wiersze i kolumny w odpowiednich przypadkach

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Zmiana etykiet i kolejności poziomów czynnika

msleep2$conservation <- fct_recode(msleep2$conservation,
                                   Domesticated = "domesticated",
                                   `Least concern` = "lc",
                                   `Near threatened` = "nt",
                                   Vulnerable = "vu",
                                   Endangered = "en")

msleep2$vore = fct_recode(msleep2$vore,
                          Carnivore = "carni",
                          Herbivore = "herbi",
                          Insectivore = "insecti",
                          Omnivore = "omni")
Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Ponowna inicjalizacja wykresu z nowymi etykietami

# Plot
p <- ggplot(msleep2, aes(bodywt_log,
                         brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  coord_fixed()

p +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation)) 

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Ponowna inicjalizacja wykresu z nowymi etykietami

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Zmiana kolejności poziomów

# Change order of levels:
msleep2$conservation = fct_relevel(msleep2$conservation,
                                   c("Domesticated",
                                     "Least concern",
                                     "Near threatened",
                                     "Vulnerable",
                                     "Endangered"))

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Ponowna inicjalizacja wykresu z nową kolejnością

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Czas na ćwiczenia!

Wizualizacja danych na poziomie średniozaawansowanym z ggplot2

Preparing Video For Download...