ggplot:如何指定多个箱图的垂直顺序?

wis*_*ame 5 r ggplot2 boxplot

我想在下图中更改医院的堆叠顺序,因此#1位于顶部,#4位于底部.

该图是用

ggplot(survey,aes(x=hospital, y=age))+geom_boxplot()+coord_flip()+xlab("")+ylab ("\nPatient Age")
Run Code Online (Sandbox Code Playgroud)

我需要top-> down命令与现在相反.我不确定它为什么会这样."医院"专栏是一个重要因素.

非常感谢!

替代文字

JoF*_*wld 10

你有几个选择.最简单的是添加

p + scale_x_reverse()
Run Code Online (Sandbox Code Playgroud)

到了情节.您也可以反转因子的水平

relevel(survey$hospital, rev(levels(survey$hospital))) -> survey$hospital
Run Code Online (Sandbox Code Playgroud)

或者,您可以手动确定所需的方框顺序 xlim()

p + xlim("Hospital #4","Hospital #3","Hospital #2","Hospital #1")
Run Code Online (Sandbox Code Playgroud)

  • 我认为 `scale_x_reverse` 仅适用于连续值。 (2认同)