R:在screen()内绘制光栅图像不起作用

时间:2017-10-13 15:23:49

标签: r plot raster

我正在尝试使用rasterLayer

在由两个数字组成的地块上绘制screen个对象

首先 - 当我们只有一张图片时的工作案例场景:

library(raster)
f <- system.file("external/test.grd", package="raster")
rst <- raster(f)

plot(rst)
points(180000, 332000, col="red", pch=19)

一切看起来都很好,图像看起来像这样:

image1

然而,当我将屏幕分成两部分并尝试仅使用一半绘图区域绘制相同的图形时,我得到以下结果:

library(raster)
f <- system.file("external/test.grd", package="raster")
rst <- raster(f)
class(rst)

figs <- rbind(c(0, 0.5, 0, 1), # Screen1
              c(0.5, 1, 0, 1)  # Screen2
              )
screenIDs <- split.screen(figs)

screen(screenIDs[1])
plot(rst)
points(180000, 332000, col="red", pch=19)

image2

似乎正确绘制了栅格形状的主要图像。然而,由于某种原因,它然后捕获整个绘图区域并在其上添加边界线。之后对情节的调用(如points)在整个数字上加点,而不是留在它的前半部分。

非常感谢任何想法如何解决或绕过这个想法。

1 个答案:

答案 0 :(得分:2)

您可以使用c代替layout。在这里展示,如在您的示例中,只有一行两个相等大小的面板的简单布局。有关如何获得更复杂的布局,请查看split.screen

?layout

enter image description here