Facetlabels en volgorde

Gevorderde datavisualisatie met ggplot2

Rick Scavetta

Founder, Scavetta Academy

Een nieuwe dataframe

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

p

Gevorderde datavisualisatie met ggplot2

Een nieuwe dataframe, met facets

p +
  facet_grid(rows = vars(vore))

Gevorderde datavisualisatie met ggplot2

Een nieuwe dataframe, met facets

p +
  facet_grid(rows = vars(vore))

Gevorderde datavisualisatie met ggplot2

Slechte labels en volgorde

p +
  facet_grid(rows = vars(vore))

Twee veelvoorkomende facetproblemen:

  • Slechte labels (bijv. niet beschrijvend)
  • Verkeerde of onlogische volgorde

Gevorderde datavisualisatie met ggplot2

Slechte labels en volgorde

p +
  facet_grid(rows = vars(vore))

Oplossingen:

  • Makkelijk: labels toevoegen in ggplot
  • Beter: factorvariabelen hernoemen en herschikken in je dataframe

Gevorderde datavisualisatie met ggplot2

Het labeller-argument

# Standaard wordt de waarde gelabeld
p +
  facet_grid(rows = vars(vore), 
             labeller = label_value)

Gevorderde datavisualisatie met ggplot2

Met label_both komt de variabelenaam erbij

# Ook de variabelenaam tonen
p +
  facet_grid(rows = vars(vore), 
               labeller = label_both)

Gevorderde datavisualisatie met ggplot2

Twee variabelen aan één kant

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

Gevorderde datavisualisatie met ggplot2

Met label_context voorkom je ambiguïteit

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

Gevorderde datavisualisatie met ggplot2

Gebruik rijen en kolommen waar zinvol

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

Gevorderde datavisualisatie met ggplot2

Gebruik rijen en kolommen waar zinvol

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

Gevorderde datavisualisatie met ggplot2

Gebruik rijen en kolommen waar zinvol

Gevorderde datavisualisatie met ggplot2

Factoren hernoemen en herordenen

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")
Gevorderde datavisualisatie met ggplot2

Plot opnieuw maken met nieuwe labels

# 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)) 

Gevorderde datavisualisatie met ggplot2

Plot opnieuw maken met nieuwe labels

Gevorderde datavisualisatie met ggplot2

De volgorde van levels wijzigen

# Volgorde van levels aanpassen:
msleep2$conservation = fct_relevel(msleep2$conservation,
                                   c("Domesticated",
                                     "Least concern",
                                     "Near threatened",
                                     "Vulnerable",
                                     "Endangered"))

Gevorderde datavisualisatie met ggplot2

Plot opnieuw maken met nieuwe volgorde

Gevorderde datavisualisatie met ggplot2

Laten we oefenen!

Gevorderde datavisualisatie met ggplot2

Preparing Video For Download...