Різниця між facet_wrap() і facet_grid() у r


Обидві функції facet_grid() і facet_wrap() у пакеті ggplot2 можна використовувати для створення сітки графіків.

Ось головна відмінність між двома функціями:

  • Функція facet_grid() створить сітку графіків для кожної вказаної вами комбінації змінних, навіть якщо деякі графіки порожні.
  • Функція facet_wrap() створюватиме лише графіки для комбінацій змінних, які мають значення, що означає , що вона не створюватиме жодних порожніх графіків .

Наступні два приклади ілюструють різницю між цими двома функціями за допомогою наступного кадру даних:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'G', 'G'),
                 points=c(8, 14, 20, 22, 25, 29, 30, 31),
                 assists=c(10, 5, 5, 3, 8, 6, 9, 12))

#view data frame
df

  team position points assists
1 GA 8 10
2 AG 14 5
3 FY 20 5
4 AF 22 3
5 BG 25 8
6 BG 29 6
7 BG 30 9
8 BG 31 12

Приклад 1: використання функції facet_grid().

Наступний код показує, як використовувати facet_grid() для створення сітки, яка відображає точкову діаграму результативних передач і очок для кожної команди та комбінації позицій:

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_grid(position~team)

Зверніть увагу, що діаграма розсіювання створюється для кожної комбінації команди та позиції , навіть якщо у вихідному кадрі даних немає значень для значення команди B і значення позиції F :

Ось як працює facet_grid() : він створить графік для кожної вказаної вами комбінації змінних, навіть якщо деякі графіки порожні.

Приклад 2: використання функції facet_wrap().

У наведеному нижче коді показано, як використовувати facet_wrap() для створення сітки, яка відображає точкову діаграму результативних передач і очок для кожної існуючої комбінації команди та позиції:

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_wrap(position~team)

Зауважте, що діаграма розсіювання створюється лише для комбінацій команд і позицій , які існують у вихідному кадрі даних.

Це означає, що для комбінації команди B і позиції F не створюється графік, оскільки у вихідному кадрі даних для цієї конкретної комбінації немає значення.

Ось як працює facet_wrap() : він ніколи не створить порожній шлях.

Примітка : зверніться до документації ggplot2, щоб отримати повний посібник із функцій facet_grid() і facet_wrap() .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в ggplot2:

Як змінити розмір шрифту в ggplot2
Як видалити легенду в ggplot2
Як обертати мітки осей у ggplot2

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

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