18

我需要删除 R 包“raster”中图形周围的框框,但我不知道应该更改哪个参数。示例如下:

library(raster)

r <- raster(nrows=10, ncols=10)

r <- setValues(r, 1:ncell(r))

plot(r)

plot(r,axes=F)
4

2 回答 2

37

这有效:

plot(r, axes=FALSE, box=FALSE)

要了解如何自己发现这一点,请尝试以下操作来查看底层函数。(因为raster包大量使用 S4 方法而不是更常用的 S3 方法,所以需要调用showMethods()和。)getMethod()

showMethods("plot")
getMethod("plot", c("Raster", "ANY"))
getAnywhere(".plotraster2")
getAnywhere(".rasterImagePlot")
args(raster:::.rasterImagePlot)
# function (x, col, add = FALSE, legend = TRUE, horizontal = FALSE, 
#     legend.shrink = 0.5, legend.width = 0.6, legend.mar = ifelse(horizontal, 
#         3.1, 5.1), legend.lab = NULL, graphics.reset = FALSE, 
#     bigplot = NULL, smallplot = NULL, legend.only = FALSE, lab.breaks = NULL, 
#     axis.args = NULL, legend.args = NULL, interpolate = FALSE, 
#     box = TRUE, breaks = NULL, zlim = NULL, zlimcol = NULL, fun = NULL, 
#     asp, colNA = NA, ...) 
于 2013-01-22T23:39:37.443 回答
0

我能建议的最好的是

plot(r,axes=F,useRaster=F)

该选项bty='n'通常会摆脱该框,但光栅绘图功能似乎在您无法摆脱的常规框之上绘制自己的框。

于 2013-01-22T23:28:39.320 回答