Різниця між 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