编辑构面/带与图之间的距离

时间:2019-04-13 04:24:49

标签: r ggplot2 facet-wrap facet-grid

例如,

library(ggplot2)
ggplot(mpg, aes(displ, cty)) + geom_point() + facet_grid(cols = vars(drv))

enter image description here 如何更改带状图和主图之间的距离? (例如,在带状图和主图之间创建一个间隙。)
但是我不需要更改带钢尺寸(与此edit strip size ggplot2不同)。

2 个答案:

答案 0 :(得分:3)

对此问题可以有多种解决方案。

geom_hline

一个顽皮的做法是在剧情顶部添加一行(可能是白色,但这取决于您的主题)。我们可以使用geom_hline(如果您的构面成行,则使用geom_vline来完成此操作)。这会造成距离的错觉。

library(ggplot2)
ggplot(mpg, aes(displ, cty)) +
  geom_point() +
  facet_grid(cols = vars(drv)) +
  # Add white line on top (Inf) of the plot (ie, betweem plot and facet)
  geom_hline(yintercept = Inf, color = "white", size = 4) +
  labs(title = "geom_hline")

strip.background

另一个解决方案(由@atsyplenkov建议)是使用theme(strip.background = ...)。在那里您可以指定边框的颜色。但是,这不是一个完美的选择,因为它会从所有方向切开边界(可能有一种方法可以改善此问题)。

ggplot(mpg, aes(displ, cty)) +
  geom_point() +
  facet_grid(cols = vars(drv)) +
  # Increase size of the border
  theme(strip.background = element_rect(color = "white", size = 3)) +
  labs(title = "strip.background")

enter image description here

答案 1 :(得分:1)

有一个更简单的解决方案

theme(strip.placement = "outside")