考虑这段代码
data <- data.frame(Var = as.factor(rep(c("A", "B", "C"),4)),
Treatment = as.factor(c(rep(1,3), rep(2,3), rep(3,3),rep(4,3))),
Value = runif(12,0,1),
Group = as.factor(c(rep("X",6), rep("Y",6))))
library(ggplot2)
ggplot(data, aes(Var, Value)) +
geom_bar(aes(fill= Var), stat = "identity", position = "identity") +
facet_wrap(~Group)
如您所见,ggplot仅绘制Var的第一个值,因为在plot命令中未定义因子“Treatment”,因此未知。
我想让“var” - 类别嵌套在每个方面的x轴“处理”中。
已经发布了类似的问题,但我找不到完全相同的内容。
/编辑: 情节应如下所示(但没有冗余的图例):
list2env(split.data.frame(data, data$Group), .GlobalEnv )
p1 <- ggplot(X, aes(Var, Value)) +
geom_bar(aes(fill= Treatment), stat = "identity", position = "dodge")
p2 <- ggplot(Y, aes(Var, Value)) +
geom_bar(aes(fill= Treatment), stat = "identity", position = "dodge")
library(cowplot)
plot_grid(p1, p2, align="hv")