How to remove the box frame in "plot.raster" in R package "raster"

Jian Zhang picture Jian Zhang · Jan 23, 2013 · Viewed 10.7k times · Source

I need to remove the box frame around the figure in R package "raster", but I cannot figure out which argument I should change. The example is as follows:

library(raster)

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

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

plot(r)

plot(r,axes=F)

Answer

Josh O&#39;Brien picture Josh O'Brien · Jan 23, 2013

This works:

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

To learn how you could have found that out for yourself, have a look at the underlying functions by trying the following. (The calls to showMethods() and getMethod() are needed because the raster package makes extensive use of S4 methods rather than the more commonly used S3 methods.)

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, ...)