The bg
的论证par
更改设备的背景颜色而不是绘图的背景颜色。由于您只是将绘图添加到已经打开和使用的设备中,因此这是不可能的(因为笔和纸的方式base
绘制了图)。相反,你可以做什么(建立在之前的这个答案 https://stackoverflow.com/questions/7236958/change-background-color-of-r-plot)如下:
plot(d0)
subplot(fun = {plot(d0_inset, mgp = c(1,0.4,0), ann = F, cex.axis=0.5);
rect(par("usr")[1],par("usr")[3],par("usr")[2],par("usr")[4],col = "blue");
points(d0_inset, col=2, pch=".") },
x = grconvertX(c(0.75,1), from='npc'),
y = grconvertY(c(0,0.25), from='npc'),
pars = list(mar = c(1.5,1.5,0,0) + 0.1), type="fig")
Edit:如果您希望包含注释的区域为蓝色,我看到的另一个解决方案是在绘制子图之前绘制矩形(使用您为子图函数提供的坐标):
plot(d0)
rect(grconvertX(0.75, from='npc'), grconvertY(0, from='npc'),
grconvertX(1, from='npc'), grconvertY(0.25, from='npc'),
col="blue", border=NA)
subplot(fun = plot(d0_inset, mgp = c(1,0.4,0), ann = F,
cex.axis=0.5,col=2, pch=".") ,
x = grconvertX(c(0.75,1), from='npc'),
y = grconvertY(c(0,0.25), from='npc'),
pars = list(mar = c(1.5,1.5,0,0) + 0.1), type="fig")