【发布时间】:2025-12-07 18:05:01
【问题描述】:
我试图在 ggplot 2 中仅在 1 个栏中反转因子顺序。重新排序数据而不将它们定义为因子通常有效,但在最新版本中无效。
示例: 我想反转最后一列中的因子(绿色向上,红色向下)。
library(ggplot2)
dados <- expand.grid(a = letters[1:5], b = letters[1:2])
dados$a <- paste(dados$a)
dados$b <- paste(dados$b)
dados$val <- rnorm(10, 5, 1)
ggplot(aes(x = a, y = val, fill = b), data = dados) + geom_bar(stat = 'identity')
dados2 <- rbind(tail(dados, -1), head(dados, 1))
ggplot(aes(x = a, y = val, fill = b), data = dados2) + geom_bar(stat = 'identity') # Used to work :/
【问题讨论】:
-
一个想法是为最后一列添加一个不同的层(我知道这很烦人),但我不知道是否有让堆叠顺序遵循数据中的顺序。跨度>