Гибкость тем

Введение в визуализацию данных с ggplot2

Rick Scavetta

Founder, Scavetta Academy

Способы использования тем

  1. С нуля (предыдущее видео)
Введение в визуализацию данных с ggplot2

Способы использования тем

  1. С нуля (предыдущее видео)
  2. Объект-слой темы
  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. Объект-слой темы
  3. Встроенные темы
    • Пакеты ggplot2 или ggthemes
  4. Встроенные темы из других пакетов
  5. Обновление/установка темы по умолчанию
Введение в визуализацию данных с ggplot2

Использование встроенных тем

Используйте функции theme_*() для доступа к встроенным темам.

z + 
  theme_classic()

Введение в визуализацию данных с ggplot2

Использование встроенных тем

Используйте функции theme_*() для доступа к встроенным темам.

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

Введение в визуализацию данных с ggplot2

Способы использования тем

  1. С нуля (предыдущее видео)
  2. Объект-слой темы
  3. Встроенные темы
    • Пакеты ggplot2 или ggthemes
  4. Встроенные темы из других пакетов
  5. Обновление/установка темы по умолчанию
Введение в визуализацию данных с ggplot2

Пакет ggthemes

Используйте пакет ggthemes для доступа к дополнительным функциям.

library(ggthemes)
z + 
  theme_tufte()

Введение в визуализацию данных с ggplot2

Способы использования тем

  1. С нуля (предыдущее видео)
  2. Объект-слой темы
  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...