热图和森林图在同一个pdf文件上

时间:2013-09-20 16:24:33

标签: r

是否可以在同一个.pdf文件中绑定从data.frame派生的热图和从另一个data.frame(使用ggplot2)派生的森林图,以便森林图位于右侧热图? par功能是否足够?

1 个答案:

答案 0 :(得分:2)

如果没有reproducible example,我无法给出完整答案。但是,当您使用grid派生的ggplot2软件包时,一种很好的方法就是使用viewport中的grid

首先,定义你的图而不打印它们:

heatmap <- ggplot(...
forestplot <- ggplot(...

接下来,定义视口。

require(grid)
vp1 <- viewport(x=0.25, y=0.5, width=0.5, height=0.5)
vp2 <- viewport(x=0.75, y=0.5, width=0.5, height=0.5)

xy表示绘图中心的位置,沿x轴和y轴(分别来自左侧和底部)。

然后,使用pdf设备保存图

pdf("my_file.pdf")
print(heatmap, vp=vp1)
print(forestplot, vp=vp2)
dev.off

另一种可能性是使用grid.arrange,这将为您自动提供一个很好的安排:

require(gridExtra)
pdf("myfile.pdf")
grid.arrange(heatmap, forestplot)
dev.off()