Разница между 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

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

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