【发布时间】:2019-12-19 08:12:20
【问题描述】:
cowplot 和 pathwork 等包允许对齐不同的图 下一个/在彼此上,绘图区域尺寸同步,无论所需的空间如何 轴标签。 例如
install.packages("ggridges")
install.packages("patchwork")
library(tidyverse)
library(ggridges)
library(patchwork)
p1 <- ggplot(iris, aes(Sepal.Length, Species)) +
geom_density_ridges()
p2 <- ggplot(mtcars) +
geom_point(aes(mpg, disp))
p1 + p2 + plot_layout(ncol=1) #different length of y axis label, same plot area size.
这对于 html 显示来说都是很好的。 但是,对于期刊,我和许多其他人需要制作“独立”的情节。 图表显示来自不同来源的数据并具有不同的轴标签长度。 为了获得专业的外观,这些地块还需要具有相同的地块大小。 在文章格式中,它们通常会出现在相同格式的页面但它们之间有文本的情况下,并且
那么,我如何使它们需要完全“对齐”(如上例所示),但可以说是单独的 r 个对象。
我怎样才能做到这一点?
【问题讨论】:
-
这并不容易。虽然我有点讨厌自己建议它,但将拼凑图保存为 pdf 然后将其“剪切”为单独的图可能是最简单的解决方法。另一种选择是使用降价并指定绘图宽度。这里有很多关于这个的线程,一个好的起点可能在这里:stackoverflow.com/q/39634520/7941188。也可能有帮助:stackoverflow.com/questions/46840724/…。或者@dww 不久前对我自己的一个问题的回答stackoverflow.com/a/48671508/7941188
-
P.S.我正在做的是通常将我的图打印为具有相同宽度尺寸的 pdf(我通常使用
ggsave(plot = x, filename = 'x.pdf', width = ..., height = ...)。会产生非常相似的轴长度,但不完全相同。如果对象分布在几页上,这很可能不会很明显,所以这将是最简单的选择。 -
@Tjebo 感谢您的提示,我有时也会手动操作,您并不孤单:p。请参阅下面的建议以获取解决方案并祝您节日快乐