如何在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中的图例标签