Повний посібник із найкращих тем 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") )