如何在 R 中为小平面换行设置足够的 space

How to set adequate space for facet wrap in R

我正在尝试在一个图上绘制多列,使用以下代码:

df.m <- melt(stkPres, "date")

ggplot(df.m, aes(date, value)) + 
  geom_line() + 
  facet_wrap(~variable, scales = "free")

哪个returns这样的图:

如何使绘图的大小更合适?

这里有一些选项:

  • 不要让比例自由,将数据绘制在公共轴上。这将删除面板之间的标签。
  • 删除条带背景。
  • 减小条形文本的大小和边距。
  • 减少面板之间的间距。

示例如下:

library(ggplot2)

ggplot(diamonds, aes(carat, price)) +
  geom_point() +
  facet_wrap(~ interaction(clarity, color)) +
  theme(strip.background = element_blank(),
        strip.text = element_text(size = rel(0.8), margin = margin()),
        panel.spacing = unit(3, "pt"))

reprex package (v0.3.0)

于 2021 年 1 月 20 日创建

如果日期很常见,您的 x 轴似乎不需要空闲。如果没有空闲的 y 轴以奇怪的方式扭曲您的数据,请考虑计算索引而不是纯数据。