我正在尝试在R中生成一个PDF图像,其中包含三个排列在一行网格中的图。这是我尝试过的方法:
pdf("fig.pdf")
par(mfrow=c(1,3))
plot(rnorm(100), rnorm(100), xlab="Something on X", ylab="Some on Y", main="This is it 1")
plot(rnorm(100), rnorm(100), xlab="Something on X", ylab="Some on Y", main="This is it 2")
plot(rnorm(100), rnorm(100), xlab="Something on X", ylab="Some on Y", main="This is it 3")
dev.off()
但它产生的结果是:
虽然我希望每个图表都是正方形的,但最终图像不需要保持1:1的比例:
尝试
我已经尝试了:
pdf("fig.pdf", width = 3, height = 1)
但是,当绘制每个单独的图表时,会生成错误提示大小不够:
Error in plot.new() : figure margins too large
如果我尝试:
par(mfrow=c(1,3), pty='s')
然后:
我该如何实现这个目标(可能不使用外部库,而只使用基本的默认R包)?
pdf
调用之后添加par(mfrow=c(1,3), pty='s')
。 - user20650par
函数来调整输入的比例pdf("fig.pdf", width=7, height=7/3)
。 - user20650