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

R语言Order Stacked Bars Plot堆叠条形图按指定顺序排列求助

问题核心原因

ggplot2中堆叠条形图的分段顺序完全由fill映射变量的因子水平顺序决定,和数据集本身的行排序无关,你之前调整因子水平时没有手动指定正确的排序规则,所以没有生效。

具体修改步骤

1. 手动指定Scale列的因子水平

按你需要的堆叠顺序设置即可,两种常用顺序参考:

  • 如果需要堆叠从下到上为 1→5(1 - No value at all在最底部,5 - Extremely valuable在最顶部):
breakstablemelt$Scale <- factor(breakstablemelt$Scale, 
                                levels = c("1 - No value at all", "2", "3", "4", "5 - Extremely valuable"))
  • 如果需要堆叠从下到上为 5→1,把levels顺序反过来即可:
breakstablemelt$Scale <- factor(breakstablemelt$Scale, 
                                levels = c("5 - Extremely valuable", "4", "3", "2", "1 - No value at all"))

2. 处理value列格式

你当前数据集的value列是带%的字符型,直接映射到y轴会出现识别错误,需要先转成数值型:

breakstablemelt$value <- as.numeric(sub("%", "", breakstablemelt$value))

3. 运行绘图代码

原绘图代码无需额外调整,直接运行即可得到对应排序的堆叠条形图:

ggplot(breakstablemelt,aes(x=variable, y=value,fill=Scale))+
  geom_bar(stat="identity")+
  coord_flip()+
  labs(title="title",
       x="Q10",
       y=NULL)

内容的提问来源于stack exchange,提问作者Caroline Sinclair

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 10:45:04