[GIS] Getting custom color palette in rasterVis plot3D in R

colorrraster

I am trying to insert an RColorBrewer palette to visualize an elevation raster in R using the rasterVis function plot3D. The rasterVis reference document shows the following parameters:

plot3D(x, maxpixels=100000, zfac=1, drape=NULL, col, rev=FALSE, adjust=TRUE, ...)

However, when I use col= I get the following error:

Error in col(zlen) : 
  a matrix-like object is required as argument to 'row/col'

When I use color= I get:

Error in f(...) : 
  formal argument "color" matched by multiple actual arguments

I've also tried this:

color.palette = brewer.pal(11, "PRGn")

which renders the 3D-plot, but uses the default color palette.

This article does not provide a solution.
Nor have I found anything useful on GIS SE or Stack Overflow:

Best Answer

From ?plot3D:

Arguments

...

col: A color palette generating function such as rainbow, heat.colors, and topo.colors, or one or your own making

You can use colorRampPalette to generate your own palette function from given colors, e.g.

library("rasterVis")
library("RColorBrewer")
data(volcano)
r <- raster(volcano)
extent(r) <- c(0, 610, 0, 870)
plot3D(r, drape=NULL, zfac=2, col=colorRampPalette(brewer.pal(11, "PRGn")))