【发布时间】:2016-09-23 19:40:18
【问题描述】:
是否可以根据第一个面板在ggplot2 的多面板图中对因子进行排序?第一个面板决定顺序,其余面板遵循该顺序。
这是一个例子:
require(ggplot2)
set.seed(36)
xx<-data.frame(YEAR=rep(c("X","Y"), each=20),
CLONE=rep(c("A","B","C","D","E"), each=4, 2),
TREAT=rep(c("T1","T2","T3","C"), 10),
VALUE=sample(c(1:10), 40, replace=T))
ggplot(xx, aes(x=CLONE, y=VALUE, fill=YEAR)) +
geom_bar(stat="identity", position="dodge") +
facet_wrap(~TREAT)
这给了我这个情节:
现在我想根据YEAR X 中的VALUE 按降序(从高到低)对CLONE 进行排序,但仅限于控制(C 面板)。然后应为T1、T2 和T3 维护此顺序。通过查看上面的图,我希望面板C 排序为CLONE C、B 或D(均为5)、A 和E。然后应该为其余面板复制此CLONE 顺序。
【问题讨论】:
-
您应该/可以将克隆变量定义为有序因子,您可以在其中根据 C 中的排序定义顺序。如果我是正确的,ggplot 将保持此顺序。