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

如何调整waffle::geom_waffle()中填充变量的层级顺序

问题根源

waffle::geom_waffle() 默认开启了按数值自动排序的逻辑,会优先按照映射给values的数值列降序排列不同分组,即便提前修改了填充变量的因子层级,默认配置下也会被自动排序规则覆盖,这就是你调整因子顺序后没有效果的原因。

解决方案

在geom_waffle()的参数中添加sort = FALSE关闭自动排序,即可严格按照填充变量的因子层级排列分组:

# 调整因子层级为目标顺序
db_graph <- db_graph[j = group := forcats::fct_rev(group)]

ggplot2::ggplot(data    = db_graph,
                mapping = ggplot2::aes(fill   = group,
                                       values = n)) +
  waffle::geom_waffle(flip = TRUE, sort = FALSE)

如果需要自定义其他排列逻辑,只需提前用forcats::fct_relevel()等函数调整group的因子层级,同时保持sort = FALSE即可生效。


内容的提问来源于stack exchange,提问作者Kévin Legueult

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:45:03