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

≯℡__Kan透↙ 提交于 2019-11-29 11:45:25

问题


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)

回答1:


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



回答2:


The best I can suggest is

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

The option bty='n' usually gets rid of the box, but the raster-plotting function seems to be drawing its own box on top of the regular box that you can't get rid of.



来源:https://stackoverflow.com/questions/14469753/how-to-remove-the-box-frame-in-plot-raster-in-r-package-raster

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!