GGplot 反转箱线图序列

GGplot reverse the boxplot sequence

如何反转箱线图的顺序。在图片中,您可以看到 'After' 显示在 'Before' 之前。我要倒序。

您可以使用 fct_rev 来反转因子的顺序,或使用 fct_relevel 手动更改顺序。

这里是 df 的例子。

df <- data.frame(values = rnorm(n = 300, mean = 50, sd = 15),
                 time = factor(rep(c(30, 40, 50), 100)),
                 situation = rep(c("Before", "After"), each = 150))

这里是问题的示例代码。

library(ggplot2)
library(forcats)

ggplot(df) +
  geom_boxplot(aes(x = time, 
                   y = values, 
                   color = fct_rev(situation))) +
  guides(color = guide_legend(title = "situation"))


ggplot(df) +
  geom_boxplot(aes(x = time, 
                   y = values, 
                   color = fct_relevel(situation, "After", after = 1))) +
  guides(color = guide_legend(title = "situation"))

这两个代码都会生成此图。

您也可以对齐因子然后绘制绘图。

df$Situation <- factor(df$Situation, levels = c("Before", "After"))