GGplot反转boxplot序列

问题描述

如何反转Boxplot的顺序。在图片中,您可以看到“之后”显示在“之前”之前。我想撤消订单。

解决方法

您可以使用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,color = fct_relevel(situation,"After",after = 1))) +
  guides(color = guide_legend(title = "situation"))

这两个代码都导致了该绘图。

enter image description here

,

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

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