5
###Load libraries

library(ggplot2)
library(gtable)

###Build plot

d <- ggplot(mtcars, aes(x=gear)) + 
            geom_bar(aes(y=gear), stat="identity", position="dodge") +
            facet_wrap(~cyl)

###Change height of strip text

g <- ggplotGrob(d)
g$heights[[3]] = unit(2,"in")
grid.newpage()
grid.draw(g)

得到的结果 ( ggplot2_2.0.0)

在此处输入图像描述

预期结果 ( ggplot2_1.0.1)

在此处输入图像描述

问题

中土世界到底发生了什么?

4

1 回答 1

5

这似乎可以解决问题

g <- ggplotGrob(d)
g$heights[[3]] = unit(2,"in")
g$grobs[[5]]$heights <- g$grobs[[6]]$heights <-
    g$grobs[[7]]$heights <- unit(1, "native") # or "npc"
grid.newpage()
grid.draw(g)

在此处输入图像描述

如果你用unit(1, "native")正数替换它也可以工作,或者TRUE(我不知道为什么 - 可能在某些时候这被强制为默认类型单元,可能是“npc”)

于 2016-02-09T14:35:14.650 回答