Полное руководство по лучшим темам 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 влияет на внешний вид графика.
Gray_theme
Тема по умолчанию с серым фоном и белой сеткой.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_gray()
чб_тема
Черно-белая тема.
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()
минимальная_тема
Тема без фоновых аннотаций.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_minimal()
классическая_тема
Тема без сеток.
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 Palette .
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 по умолчанию.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point() +
theme_gdocs()
theme_fivethirtyeight
Тема навеяна сюжетами сайта 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))
- цвет: цвет границы
- размер: размер границы
- 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") )