首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RMarkdown文档中多个大小相等的绘图

RMarkdown文档中多个大小相等的绘图
EN

Stack Overflow用户
提问于 2021-12-17 15:12:50
回答 1查看 172关注 0票数 2

我想让对齐几幅图的区域,每个图都是由RMarkdown文档中的单独块创建的(最好是.html)“很好”。我的问题是:因为y轴文本的长度不同。绘制的区域并不完全重叠(很遗憾,因为我的实际x轴是几个月)。

设置fig.width=out.width=在这里没有帮助,因为他们考虑轴文本长度。

虚拟数据块:

代码语言:javascript
复制
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:

代码语言:javascript
复制
gg1 = ggplot(df, aes(y = y, x = x, fill = fill)) +
  geom_tile()
gg1

情节-春秋2:

代码语言:javascript
复制
gg2 = ggplot(df2, aes(y = y, x = x, fill = fill)) +
  geom_tile()
gg2

RMarkdown文档中的情节应该是这样的(红线突出显示所需的对齐):

我用拼凑的包实现了这一点。但是,像这样,我只能使用一个块,而不能使用多个块。

拼凑-情节块:

代码语言:javascript
复制
require(patchwork)

gg1 / gg2 +
  plot_annotation(tag_levels = 'A')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-20 08:54:16

修补程序包还包括类似于cowplot::align_plots()的函数align_patches()

代码语言:javascript
复制
gg_l = patchwork::align_patches(gg1,
                                gg2)

情节-春秋1:

代码语言:javascript
复制
gg_l[[1]]

情节-春秋2:

代码语言:javascript
复制
gg_l[[2]]

问题中的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70395202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档