Повний посібник із найкращих тем ggplot2


Цей підручник містить повний посібник із найкращих тем ggplot2, зокрема:

  • Як змінити зовнішній вигляд сюжетів за допомогою вбудованих тем ggplot2.
  • Як змінити зовнішній вигляд сюжетів за допомогою попередньо визначених тем із бібліотеки ggthemes .
  • Як редагувати певні компоненти теми, зокрема фон панелі шляху та лінії сітки.

Як змінити вигляд сюжету за допомогою вбудованих тем ggplot2

Для кожного з наступних прикладів ми будемо використовувати райдужну оболонку ока з вбудованого набору даних R:

 #view first six rows of iris dataset
head(iris)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa

Спочатку ми завантажимо бібліотеку ggplot2 і створимо діаграму розсіювання, яка показує Sepal.Length на осі x і Sepal.Width на осі y, розфарбовані відповідно до видів:

 #load ggplot2 library
library(ggplot2)

#create scatterplot
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point()

Далі ми покажемо, як кожна з вбудованих тем ggplot2 впливає на вигляд сюжету.

сіра_тема

Тема за замовчуванням із сірим фоном і білою сіткою.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_gray()

bw_тема

Тема чорного по білому.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_bw()

theme_linedraw

Тема лише з чорними лініями різної ширини на білому тлі.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_linedraw()

theme_light

Тема, схожа на theme_linedraw , але з сірими лініями та осями, призначеними для привернення більше уваги до даних.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_light()

темна_тема

Тема, схожа на theme_light , але з темним фоном. Корисна тема для виділення тонких кольорових ліній.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_dark()

minimal_theme

Тема без фонових анотацій.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_minimal()

classic_theme

Тема без сіток.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_classic()

theme_void

Зовсім пуста тема.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_void()

Як змінити зовнішній вигляд сюжетів за допомогою попередньо визначених тем із бібліотеки ggthemes

На додаток до використання вбудованих тем ggplot2, ми можемо використовувати попередньо визначені теми з бібліотеки ggthemes, щоб змінити естетику сюжетів.

Спочатку ми завантажимо бібліотеку ggthemes:

 library(ggthemes)

Потім ми покажемо кілька прикладів використання попередньо визначених тем для зміни естетики сюжетів:

theme_wsj

Тема з Wall Street Journal.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_wsj()

theme_tufte

Мінімалістична тема, навіяна роботою статистика Едварда Тафті.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_tufte()

solarized_theme

Тема, яка використовує кольори на основі сонячної палітри .

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_solarized()

Зверніть увагу, що ми також можемо використовувати аргумент light = FALSE , щоб використовувати темний фон на графіку:

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_solarized( light = FALSE )

theme_gdocs

Тема зі стандартними налаштуваннями Google Docs Chart.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_gdocs()

тема_п’ятьтридцять восьмий

Тема натхненна сюжетами fivethirtyeight.com .

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_fivethirtyeight()

тема_економіст

Тема натхненна The Economist.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_economist()

Як редагувати окремі компоненти сюжетів

Ми можемо використовувати функції theme() і element_rect() , щоб змінити колір фону панелі графіка:

 theme(panel.background = element_rect(fill, color, size))
  • fill: колір заливки для прямокутника
  • колір: колір рамки
  • розмір: розмір рамки

Ми також можемо використовувати функцію element_line() , щоб змінити розмір і вигляд сітки:

 theme(panel.grid.major = element_line(color, size, linetype),
      panel.grid.minor = element_line(color, size, linetype))
  • колір: колір рамки
  • розмір: розмір рамки
  • тип лінії: тип лінії («порожній», «суцільний», «тире», «пунктир», «крапковий тире», «довге тире», «два тире»)

Наступний код демонструє, як видалити межі та лінії сітки панелі графіка:

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme(panel.border = element_blank(),
  panel.grid.major = element_blank(),
  panel.grid.minor = element_blank())

Наступний код демонструє, як змінити фон панелі графіка та лінії сітки:

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme(
    panel.background = element_rect(fill = "powderblue",
    color = "powderblue",
    size = 0.5, linetype = "solid"),
    panel.grid.major = element_line(size = 0.5, linetype = 'solid', color = "white"),
    panel.grid.minor = element_line(size = 0.25, linetype = 'solid', color = "white")
  )

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *