绘制垂直堆叠的图形时,如何将facet_grid中的条带放置在图的顶部 - 类似于facet_wrap中的position.strip =“top”?

Fai*_*sin 5 r ggplot2 facet-wrap facet-grid

使用facet_grid(),在绘制垂直堆叠在单列中的图时,如何将组名称(即灰色条带)放置在图的顶部?

根据我的尝试,当使用 垂直堆叠图时facet_grid(),您不能将条带放在图表的顶部或底部;您只能使用参数将条带放置在图的右侧或左侧switch = c("y", "x", "both")

我知道facet_wrap()(并且facet_col()来自 ggforce)可以使用参数将条带放置在任何位置strip.position = c("top", "bottom", "left", "right"),无论图形如何绘制:垂直或水平。我曾经facet_wrap()生成过下面的图 1(代码位于可复制代码部分)。

但是,我希望能够facet_grid()不使用facet_wrap来生成下面的图(条带位于“顶部”)。

图 1:我希望能够使用facet_grid()

图。1

理想情况下,如果可以扩展 switch 参数或者strip.position可以将参数添加到facet_grid(),以便能够将条带放在顶部,那就太好了。我尝试自己尝试更改源代码和facet_grid()函数facet_wrap(),但无法弄清楚。

我不简单地使用facet_wrap()函数的原因是因为不幸的是它没有我的应用程序中space="free"可用facet_grid()且必不可少的参数。

下面是一个可重现的示例,稍作修改后,布兰登·贝特尔森 (Brandon Bertelsen) 的答案的代码就在这里

可重现的代码:

数据:

dat <- data.frame(value=runif(30)*10,
                  grouping=c(rep("Group 1",10),
                             rep("Group 2",10),
                             rep("Group 3",10)),
                  letters=rep(LETTERS[1:10], 3)
Run Code Online (Sandbox Code Playgroud)

用于facet_wrap在垂直绘制图形时将条带置于顶部:

ggplot(dat, aes(letters,value, label = letters)) + 
  geom_bar(stat="identity") + 
  facet_wrap(grouping~., dir = "v")
Run Code Online (Sandbox Code Playgroud)

产生图1:

图。1:

facet_grid与 一起使用switch = "y"将条带置于左侧:

ggplot(dat, aes(letters,value, label = letters)) + 
  geom_bar(stat="identity") + 
  facet_grid(grouping~., switch = "y")
Run Code Online (Sandbox Code Playgroud)

产生图2:

图2

facet_gridswitch = "x"将条带放在右侧一起使用:

ggplot(dat, aes(letters,value, label = letters)) + 
     geom_bar(stat="identity") + 
     facet_grid(grouping~., switch = "x")
Run Code Online (Sandbox Code Playgroud)

产生图3:

图3

由于没有其他选择,我来到这里寻求帮助。

Mar*_*Blo -1

那是你要的吗?然后就离开吧sales = 'free'

library(ggplot2)

dat <- data.frame(value=runif(26)*10,
                  grouping=c(rep("Group 1",10),
                             rep("Group 2",10),
                             rep("Group 3",6)),
                  letters=LETTERS[1:26])

ggplot(dat, aes(letters,value, label = letters)) + 
  geom_bar(stat="identity") + 
  facet_wrap(grouping~., dir = "v")
Run Code Online (Sandbox Code Playgroud)

reprex 包(v0.3.0)于 2020-06-13 创建