【发布时间】:2022-01-20 11:58:58
【问题描述】:
我想对齐 区域 几个地块,每个地块都是由 RMarkdown 文档(最好是 .html)中的单独块“很好地”创建的。我的问题:因为 y 轴文本的长度不同。绘制的 区域 没有完美重叠(很遗憾,因为我的实际 x 轴是几个月)。
在此处设置 fig.width= 和 out.width= 无济于事,因为它们会考虑轴文本长度。
虚拟数据块:
require(ggplot2)
df = expand.grid(y = LETTERS,
x = paste0('A', 1:10),
stringsAsFactors = FALSE)
set.seed(42)
df$fill = rnorm(nrow(df))
df2 = df
df2$y = unlist(lapply(lapply(df2$y, function(x) rep(x, 10)), paste0, collapse = ''))
Plot-Chunk1:
gg1 = ggplot(df, aes(y = y, x = x, fill = fill)) +
geom_tile()
gg1
Plot-Chunk2:
gg2 = ggplot(df2, aes(y = y, x = x, fill = fill)) +
geom_tile()
gg2
RMarkdown 文档中的绘图应如下所示(红线突出显示所需的对齐方式):
我通过 patchwork 包实现了这一点。但是,像这样我只能使用一个块而不是多个。
拼凑-情节-块:
require(patchwork)
gg1 / gg2 +
plot_annotation(tag_levels = 'A')
【问题讨论】:
-
编织成 html 或 pdf?
-
.html 我会更新问题。
-
先生。安迪比我快:)
-
我自己的脚本中的一点copypasta,哈哈。而且我仍然希望有人提出更“正确”的做法!
标签: r ggplot2 r-markdown