在facet_grid中排序行和两级条带

时间:2013-09-12 14:16:19

标签: r ggplot2 strip

我想提供两个变量分面的数据,每个变量都有三个级别(种类1-2-3;然后是这个级别Y1Y2Y3)。这本身不是问题(见下图)。

问题是收集与同一物种相关的行Y2Y1Y3(按此顺序),另外还要获得一组物种条带,覆盖三个各种Y带。

你知道如何实现这一目标吗?

图形代码

data$VarY = factor(data$VarY, levels=c("Y2","Y1","Y3"))
ggplot(data, aes(Group, VarX, colour = Group)) + 
    geom_boxplot() + 
    facet_grid(VarY + species ~ .) + 
    coord_flip()

picture

1 个答案:

答案 0 :(得分:0)

你正试图这样做吗?我举一个你正在密谋的方式的例子。

data( iris )
iris$Petal.Class <- cut( iris$Petal.Length , 3 )

p1 <- ggplot( iris ) +
  geom_boxplot( aes( Species , Sepal.Width ) ) +
  facet_grid( Species + Petal.Class ~ . )

p2 <- ggplot( iris ) +
  geom_boxplot( aes( Species , Sepal.Width ) ) +
  facet_grid( Species ~ Petal.Class )

require( gridExtra )
grid.arrange( p1 , p2 , nrow = 1 , ncol = 2 )

enter image description here

如果你真的只是想改变分组,只需在你的刻面公式中交换变量名称,例如。

 facet_grid( species + varY ~ .) +