Как использовать facet_wrap в R (с примерами)

Как использовать facet_wrap в R (с примерами)

Функцию facet_wrap() можно использовать для создания многопанельных графиков в ggplot2.

Эта функция использует следующий базовый синтаксис:

library (ggplot2)

ggplot(df, aes (x_var, y_var)) +
 geom_point() +
 facet_wrap(vars(category_var))

В следующих примерах показано, как использовать эту функцию со встроенным набором данных mpg в R:

#view first six rows of *mpg* dataset
head(mpg)

manufacturer model displ year cyl trans drv cty hwy fl class

audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
audi a4 2.0 2008 4 auto(av) f 21 30 p compact
audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
audi a4 2.8 1999 6 manual(m5) f 18 26 p compact

Пример 1: Базовая функция facet_wrap()

В следующем коде показано, как создать несколько диаграмм рассеивания в ggplot2, используя displ в качестве переменной оси x, hwy в качестве переменной оси y и class в качестве переменной группировки:

ggplot(mpg, aes (displ, hwy)) +
 geom_point() +
 facet_wrap(vars(class))

Пример 2. Использование пользовательских меток

В следующем коде показано, как использовать функцию facet_wrap() с пользовательскими метками для заголовков графиков:

#define custom labels
plot_names <- c('2seater' = "2 Seater",
 'compact' = "Compact Vehicle",
 'midsize' = "Midsize Vehicle",
 'minivan' = "Minivan",
 'pickup' = "Pickup Truck",
 'subcompact' = "Subcompact Vehicle",
 'suv' = "Sport Utility Vehicle")

#use facet_wrap with custom plot labels
ggplot(mpg, aes (displ, hwy)) +
 geom_point() +
 facet_wrap(vars(class), labeller = as_labeller (plot_names)) 
facet_wrap с пользовательскими метками в R

Пример 3: Использование пользовательских масштабов

В следующем коде показано, как использовать функцию facet_wrap() с пользовательскими шкалами для каждого отдельного графика:

#use facet_wrap with custom scales
ggplot(mpg, aes (displ, hwy)) +
 geom_point() +
 facet_wrap(vars(class), scales='free') 

Пример 4: Использование пользовательского заказа

В следующем коде показано, как использовать функцию facet_wrap() с пользовательским порядком для отдельных графиков:

#define order for plots
mpg <- within(mpg, class <- factor(class, levels=c('compact', '2seater', 'suv',
 'subcompact', 'pickup',
 'minivan', 'midsize')))

#use facet_wrap with custom order
ggplot(mpg, aes (displ, hwy)) +
 geom_point() +
 facet_wrap(vars(class)) 
face_wrap() с пользовательским порядком в R

Обратите внимание, что графики отображаются именно в том порядке, который мы указали.

Дополнительные ресурсы

Как изменить размер шрифта в ggplot2
Как удалить легенду в ggplot2
Как повернуть метки осей в ggplot2

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.