Como ordenar itens no eixo x no ggplot2


Você pode usar a seguinte sintaxe básica para ordenar itens no eixo x de um gráfico em ggplot2:

 ggplot(df, aes(x=factor(x_var, level=c(' value1 ', ' value2 ', ' value3 ')), y=y_var)) +
  geom_col()

Os exemplos a seguir mostram como usar essa sintaxe na prática.

Exemplo: ordenar itens no eixo x em ggplot2

Suponha que temos o seguinte quadro de dados em R que mostra os pontos marcados por diferentes times de basquete:

 #create data frame
df <- data. frame (team=c('Mavs', 'Heat', 'Nets', 'Lakers'),
                 dots=c(100, 122, 104, 109))

#view data frame
df

    team points
1 Mavs 100
2 Heat 122
3 Nets 104
4 Lakers 109

Se criarmos um gráfico de barras para visualizar os pontos marcados por cada equipe, o ggplot2 irá classificar automaticamente as barras em ordem alfabética:

 library (ggplot2)

#create bar plot
ggplot(df, aes(x=team, y=points)) +
  geom_col() 

Para especificar uma ordem para as barras no eixo x, podemos usar o argumento de nível da seguinte forma:

 library (ggplot2)

#create bar plot with specific axis order
ggplot(df, aes(x=factor(team, level=c(' Mavs ', ' Heat ', ' Nets ', ' Lakers ')), y=points)) +
  geom_col() 

As barras estão agora na ordem exata que especificamos no argumento de nível .

Você também pode usar xlab() para renomear o eixo x para algo mais fácil de ler:

 library (ggplot2)

#create bar plot with specific axis order
ggplot(df, aes(x=factor(team, level=c(' Mavs ', ' Heat ', ' Nets ', ' Lakers ')), y=points)) +
  geom_col() +
  xlab(' Team ') 

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no ggplot2:

Como girar rótulos de eixo no ggplot2
Como definir quebras de eixo no ggplot2
Como definir limites de eixo no ggplot2
Como alterar os rótulos das legendas no ggplot2

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *