Полное руководство по лучшим темам 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")
  )

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *