我正在使用以下行中显示的栅格函数。 我的最后一行会产生一些输出。 输出中有一行说dimensions : 240, 320, 76800 (nrow, ncol, ncell)
。 我想重新打印该图像,但只想显示前200行和前300列。 我该怎么做?以下是倒数第二行绘制整个图像。
f <- "pictures/image1-1421787394.jpeg"
f
r <- raster(f)
plot(r);
r
=============================更新1
我使用了png(filename ='〜/ x.png'); par(mar = rep(0,4),xpd = TRUE,oma = rep(0,4),bty ='n'); plot(r,xlim = c(0,200),ylim = c(0,200),legend = FALSE,axes = FALSE); dev.off()
来保存裁剪后的图像。我成功地去掉了图例、轴和黑色框。但问题是保存的图像包含比裁剪部分更多的内容——例如图像周围的白色部分。我想只保存原始图像的裁剪部分(保持图像大小为200*200像素)。请告诉我如何实现?
此外,我如何在原始图像上添加一个对应于上面裁剪部分的红色正方形?我的意思是我想在原始图像的顶部获得一个红色正方形(仅限边缘),然后将其保存为新图像(原始图像+正方形)。
我应该怎么做呢?
update2++++++++++++++++++++++++++++++++++++++++++++++++
添加可重复的示例以展示白色背景的含义
以下最后一行绘制了裁剪后的图像。由于我的xlim和ylim均为100,因此我希望该图像为100*100。但是我看到了如下示例中的白色背景。 (您无法看到背景。但是如果您在计算机上运行代码并打开图像,则会看到它)
library(raster)
r <- raster(nrow=240, ncol=320)
values(r) <- 1:ncell(r)
plot(r)
plot(r,xlim=c(0,100),ylim=c(0,100),legend=FALSE,axes=FALSE,frame.plot=F)
png(filename = '~/x.png'); plot(r,xlim=c(0,200),ylim=c(0,200)); dev.off()
命令即可。您也可以使用其他命令,如pdf()
或jpeg()
以生成不同格式的图像。 - Marat Talipov