Гнучкість тем

Вступ до візуалізації даних з ggplot2

Rick Scavetta

Founder, Scavetta Academy

Способи використання тем

  1. З нуля (попереднє відео)
Вступ до візуалізації даних з ggplot2

Способи використання тем

  1. З нуля (попереднє відео)
  2. Обʼєкт шару theme
  3. Вбудовані теми
    • пакети ggplot2 або ggthemes
  4. Вбудовані теми з інших пакетів
  5. Оновлення/Встановлення теми за замовчуванням
Вступ до візуалізації даних з ggplot2

Визначення обʼєктів теми

  • Корисно, коли у вас багато графіків
  • Забезпечує єдиний стиль
  • Застосовуйте одну тему всюди
Вступ до візуалізації даних з ggplot2

Визначення обʼєктів теми

z <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + 
  geom_jitter(alpha = 0.6) +
  scale_x_continuous("Sepal Length (cm)", limits = c(4,8), expand = c(0,0)) +
  scale_y_continuous("Sepal Width (cm)", limits = c(1.5,5), expand = c(0,0)) +
  scale_color_brewer("Species", palette = "Dark2", labels = c("Setosa", "Versicolor", "Virginica"))

Вступ до візуалізації даних з ggplot2

Визначення обʼєктів теми

z + theme(text = element_text(family = "serif", size = 14),
          rect = element_blank(),
          panel.grid = element_blank(),
          title = element_text(color = "#8b0000"),
          axis.line = element_line(color = "black"))

Вступ до візуалізації даних з ggplot2

Визначення обʼєктів теми

theme_iris <- theme(text = element_text(family = "serif", size = 14),
          rect = element_blank(),
          panel.grid = element_blank(),
          title = element_text(color = "#8b0000"),
          axis.line = element_line(color = "black"))
Вступ до візуалізації даних з ggplot2

Повторне використання обʼєктів теми

z + theme_iris

Вступ до візуалізації даних з ggplot2

Повторне використання обʼєктів теми

m <- ggplot(iris, aes(x = Sepal.Width)) + 
    geom_histogram(binwidth = 0.1,
                   center = 0.05)
m                 

Вступ до візуалізації даних з ggplot2

Повторне використання обʼєктів теми

m +
  theme_iris

Вступ до візуалізації даних з ggplot2

Повторне використання обʼєктів теми

m + 
  theme_iris +
  theme(axis.line.x = element_blank())

Вступ до візуалізації даних з ggplot2

Способи використання тем

  1. З нуля (попереднє відео)
  2. Обʼєкт шару theme
  3. Вбудовані теми
    • пакети ggplot2 або ggthemes
  4. Вбудовані теми з інших пакетів
  5. Оновлення/Встановлення теми за замовчуванням
Вступ до візуалізації даних з ggplot2

Використання вбудованих тем

Використовуйте функції theme_*() для доступу до вбудованих тем.

z + 
  theme_classic()

Вступ до візуалізації даних з ggplot2

Використання вбудованих тем

Використовуйте функції theme_*() для доступу до вбудованих тем.

z + 
  theme_classic() +
  theme(text = element_text(family = "serif"))

Вступ до візуалізації даних з ggplot2

Способи використання тем

  1. З нуля (попереднє відео)
  2. Обʼєкт шару theme
  3. Вбудовані теми
    • пакети ggplot2 або ggthemes
  4. Вбудовані теми з інших пакетів
  5. Оновлення/Встановлення теми за замовчуванням
Вступ до візуалізації даних з ggplot2

Пакет ggthemes

Використовуйте пакет ggthemes для додаткових функцій.

library(ggthemes)
z + 
  theme_tufte()

Вступ до візуалізації даних з ggplot2

Способи використання тем

  1. З нуля (попереднє відео)
  2. Обʼєкт шару theme
  3. Вбудовані теми
    • пакети ggplot2 або ggthemes
  4. Вбудовані теми з інших пакетів
  5. Оновлення/Встановлення теми за замовчуванням
Вступ до візуалізації даних з ggplot2

Оновлення тем

original <- theme_update(text = element_text(family = "serif", size = 14),
                         rect = element_blank(),
                         panel.grid = element_blank(),
                         title = element_text(color = "#8b0000"),
                         axis.line = element_line(color = "black"))
Вступ до візуалізації даних з ggplot2

Оновлення тем

z

Вступ до візуалізації даних з ggplot2

Встановлення тем

theme_set(original)

# Alternatively
# theme_set(theme_grey())

Вступ до візуалізації даних з ggplot2

Давайте потренуємось!

Вступ до візуалізації даних з ggplot2

Preparing Video For Download...