您可以将 pdf/jpg/png 保存为对象并排列在单个图中吗?

问题描述 投票:0回答:1

我知道如何将绘图作为 pdf 保存到磁盘...

pdf(file = "sample.pdf")
plot(x=1:2,y=1:2)
dev.off()

但是,我可以不让

sample.pdf
使 pdf 成为全局环境中的对象吗?我想任意调整一些图的大小并将它们组合在网格中。我可以通过将绘图保存到磁盘并应用 Imagemagick 来做到这一点...但如何跳过导出和重新导入步骤?

r pdf plot png jpeg
1个回答
1
投票

您可以使用

layout
gridExtra
专为
ggplot2
设计。

> pdf('sample.pdf', 6, 4)  ## open pdf device
> op <- par(mar=c(4, 4, 1, 1))  ## set margins
> layout(matrix(c(1, 2, 1, 3), nrow=2))  ## define device layout
> # layout.show(3)  ## show layout for three plots
> plot(1:10)
> plot(1:10, col=2)
> plot(1:10, col=3)
> layout(1)  ## reset layout
> par(op)  ## reset pars
> dev.off()  ## close device
RStudioGD 
        2 

enter image description here

或者使用

split.screen
,可以非常灵活。

> pdf('sample.pdf', 6, 4)  ## open pdf device
> op <- par(mar=c(4, 4, 1, 1))  ## set margins
> split.screen(matrix(c(
+   0, 1, 0.5, 1,   # Top full-width screen
+   0, 0.5, 0, 0.5, # Bottom-left screen
+   0.5, 1, 0, 0.5  # Bottom-right screen
+ ), ncol=4, byrow=TRUE))
[1] 1 2 3
> screen(1)
> plot(1:10)
> screen(2)
> plot(1:10, col=2)
> screen(3)
> plot(1:10, col=3)
> close.screen(all=TRUE)  ## Close all screens
> par(op)  ## reset pars
> dev.off()  ## close pdf device
RStudioGD 
        2 

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.