A diferença entre facet_wrap() e facet_grid() em r
As funções facet_grid() e facet_wrap() no pacote ggplot2 podem ser usadas para produzir uma grade de gráficos.
Aqui está a principal diferença entre as duas funções:
- A função facet_grid() produzirá uma grade de gráficos para cada combinação de variáveis que você especificar, mesmo se alguns gráficos estiverem vazios.
- A função facet_wrap() produzirá gráficos apenas para combinações de variáveis que possuem valores, o que significa que não produzirá gráficos vazios .
Os dois exemplos a seguir ilustram a diferença entre essas duas funções, usando o seguinte quadro de dados:
#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
Exemplo 1: usando a função facet_grid()
O código a seguir mostra como usar facet_grid() para criar uma grade que exibe um gráfico de dispersão de assistências versus pontos para cada combinação de equipe e posição:
library (ggplot2)
ggplot(df, aes (assists, points)) +
geom_point() +
facet_grid(position~team)
Observe que um gráfico de dispersão é produzido para cada combinação de equipe e posição , mesmo que não existam valores no quadro de dados original para um valor de equipe B e um valor de posição F :
Veja como funciona facet_grid() : ele produzirá um gráfico para cada combinação de variáveis que você especificar, mesmo se alguns gráficos estiverem vazios.
Exemplo 2: usando a função facet_wrap()
O código a seguir mostra como usar facet_wrap() para criar uma grade que exibe um gráfico de dispersão de assistências versus pontos para cada combinação existente de equipe e posição:
library (ggplot2)
ggplot(df, aes (assists, points)) +
geom_point() +
facet_wrap(position~team)
Observe que um gráfico de dispersão só é produzido para combinações de equipe e posição que existem no quadro de dados original.
Isso significa que nenhum gráfico é criado para a combinação da equipe B e da posição F porque não existe nenhum valor no quadro de dados original para essa combinação específica.
É assim que facet_wrap() funciona: nunca produzirá um caminho vazio.
Nota : Consulte a documentação do ggplot2 para obter um guia completo das funções facet_grid() e facet_wrap() .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no ggplot2:
Como alterar o tamanho da fonte no ggplot2
Como remover uma legenda no ggplot2
Como girar rótulos de eixo no ggplot2