如何在ggplot2中按字母顺序对y轴标签进行排序


您可以使用以下基本语法在 ggplot2 中按字母顺序对 Y 轴标签进行排序:

 #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()

以下示例展示了如何在实践中使用此语法。

示例:在 ggplot2 中按字母顺序对 Y 轴标签进行排序

假设我们在 R 中有以下数据框,显示不同篮球队的得分:

 #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

如果我们创建一个散点图,其中 x 轴上有点,y 轴上有一个团队,ggplot2 将自动按字母顺序显示团队(从底部开始):

 library (ggplot2)

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

请注意,Y 轴上的标签从底部开始按字母顺序从 A 到 Z 列出。

要按相反的字母顺序排列 Y 轴标签,我们可以使用以下代码:

 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 按字母顺序对 y 轴标签进行排序

请注意,Y 轴上的标签现在从底部开始按字母顺序逆序排列。

其他资源

以下教程解释了如何在 ggplot2 中执行其他常见任务:

如何在ggplot2中旋转轴标签
如何在ggplot2中设置轴中断
如何在ggplot2中设置轴限制
如何更改ggplot2中的图例标签

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注