R在多图布局中仅在一个图上绘制插图

amg*_*amg 5 layout r

我在一个页面上有一系列我想要的图表.我首先使用命令布局来指定我的绘图布局:

layout(matrix(c(1,1,2,2,1,1,2,2,3,4,5,6),3,4,byrow=TRUE))

对于情节1,我有类似的东西:

plot(Easting,Northing, pch=16, col=grey(cex.size)) #The cex.size colours my dots according to some value

我现在想在情节1上画一个插图,但还没有进入情节2.我试着按照代码:

par(fig=c(0.75, 1, 0, 0.25), new = T)
plot(spp.tmp[,1:2], col=cols[spp.tmp[,3]+1], pch=16)
par(fig=c(0,1,0,1))
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为par(fig())命令会覆盖我的布局,插图会显示在我整体图的底角,而不仅仅是在图1的底角.

mne*_*nel 4

两个选择,

您可以尝试将插图包含在您的layout命令中(如果您坚持使用layout

在这种情况下,第一个图跨越两行和两列,第二个图是第一个图右下角的插图。下面是第三个图,大小与第一个图相同,但没有插图。

layout( matrix(c(1,1,1,2,3,3,3,3), 4, 2, byrow = TRUE) )
## show the regions that have been allocated to each plot
layout.show(3)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

另一种方法是使用subplot教学演示包中的

library(TeachingDemos)
layout(matrix(c(1,1,0,2),2,2,TRUE))
plot(1)
subplot(plot(1), x = c(1.2),y=0.8)
plot(2)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述