Como classificar os rótulos do eixo y em ordem alfabética no ggplot2


Você pode usar a seguinte sintaxe básica para classificar os rótulos do eixo Y em ordem alfabética no ggplot2:

 #sort y-axis variable in alphabetical order
df$y_var<- factor(df$y_var, levels=rev(sort(df$y_var)))

#create scatter plot with y-axis in alphabetical order
ggplot(df, aes(x=x_var, y=y_var)) + 
  geom_point()

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Classifique os rótulos do eixo Y em ordem alfabética no 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('B', 'D', 'E', 'F', 'A', 'C', 'H', 'G'),
                 points=c(22, 12, 10, 30, 12, 17, 28, 23))

#view data frame
df

  team points
1 B 22
2 D 12
3 E 10
4 F 30
5 to 12
6 C 17
7:28 a.m.
8 G 23

Se criarmos um gráfico de dispersão com pontos no eixo x e uma equipe no eixo y, o ggplot2 exibirá automaticamente as equipes em ordem alfabética (começando de baixo):

 library (ggplot2)

#create scatterplot
ggplot(df, aes(x=points, y=team)) + 
  geom_point(size= 2 ) 

Observe que os rótulos no eixo Y são listados em ordem alfabética de A a Z, começando na parte inferior.

Para organizar os rótulos do eixo Y em ordem alfabética inversa, podemos usar o seguinte código:

 library (ggplot2)

#sort y-axis variable in alphabetical order
df$team<- factor(df$team, levels=rev(sort(df$team)))

#create scatter plot with y-axis in alphabetical order
ggplot(df, aes(x=points, y=team)) +
  geom_point() 

ggplot2 classifica os rótulos do eixo y em ordem alfabética

Observe que os rótulos no eixo Y agora estão em ordem alfabética inversa, começando de baixo.

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 *