You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何重排矩阵/数据框行 调整条形图分组显示顺序

调整条形图柱组顺序的实现方法

R的barplot函数绘制并列条形图时,会严格按照传入数据的行顺序从左到右排列柱组,你只需要提前把数据框的行按照目标顺序重排,再同步调整x轴标签顺序即可,注意不要只改标签顺序,否则会出现数据和标签错配的问题。

操作步骤

  • 定义目标显示顺序对应的bcs列取值
  • 匹配取值重排数据框行,生成排序后的数据集
  • 绘图时传入排序后的数据,同步修改names.arg的标签顺序和数据顺序对应

可直接运行的代码

# 按 Low Score -> Mid Score -> High Score 的顺序重排数据
target_levels <- c("low-score", "mid-score", "high-score")
agg_2_sorted <- agg_2[match(target_levels, agg_2$bcs), ]

# 绘制排序后的条形图
barplot(t(as.matrix(agg_2_sorted[,-1])),
        main = "Actual Default vs Predicted Default",
        xlab = "Score Category",
        ylab = "Default Rate",
        names.arg = c("Low Score", "Mid Score", "High Score"),
        col = gray.colors(2),
        beside = TRUE)
legend("topleft",
       c("Default", "Pred. Default"),
       fill = gray.colors(2))

说明:用match()做行匹配比手动写行索引agg_2[c(2,3,1), ]更稳定,后续如果bcs的取值有增减,代码也不会因为行号变化出错。

内容的提问来源于stack exchange,提问作者Saïd Maanan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:57:08