我想让对齐几幅图的区域,每个图都是由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 = ''))情节-春秋1:
gg1 = ggplot(df, aes(y = y, x = x, fill = fill)) +
geom_tile()
gg1情节-春秋2:
gg2 = ggplot(df2, aes(y = y, x = x, fill = fill)) +
geom_tile()
gg2RMarkdown文档中的情节应该是这样的(红线突出显示所需的对齐):

我用拼凑的包实现了这一点。但是,像这样,我只能使用一个块,而不能使用多个块。
拼凑-情节块:
require(patchwork)
gg1 / gg2 +
plot_annotation(tag_levels = 'A')发布于 2021-12-20 08:54:16
修补程序包还包括类似于cowplot::align_plots()的函数align_patches()。
gg_l = patchwork::align_patches(gg1,
gg2)情节-春秋1:
gg_l[[1]]情节-春秋2:
gg_l[[2]]问题中的数据。
https://stackoverflow.com/questions/70395202
复制相似问题