如何在ggplot2中对x轴上的项目进行排序


您可以使用以下基本语法对 ggplot2 中绘图的 x 轴上的项目进行排序:

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

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

示例:在 ggplot2 中对 x 轴上的项目进行排序

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

 #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

如果我们创建一个条形图来可视化每个团队的得分,ggplot2 将自动按字母顺序对条形图进行排序:

 library (ggplot2)

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

要指定 x 轴上条形的顺序,我们可以使用level参数,如下所示:

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

现在,条形图的顺序与我们在level参数中指定的顺序完全相同。

您还可以使用xlab()将 x 轴重命名为更易于阅读的名称:

 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 ') 

其他资源

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

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

添加评论

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