使用包裹marmap
时,是否可以使用单独的调色板进行海拔高度的地形和海平面以下的水深测量?我想用一个绿色的调色板来展示岛上的山脉,然后用深蓝色的水深。在这个例子中,我使用了Atlantic数据集,它在图的左上角有一些陆地地形数据。
library(marmap)
##load some data
data(nw.atlantic)
atl <- as.bathy(nw.atlantic)
##create two palettes, one for above sea level (greens), one for below (blues)
blues <- colorRampPalette(c("purple", "darkblue", "blue", "cadetblue1",
"lightblue"))
greens <- colorRampPalette(c("#00CC00", "#33CC33", "#009900", "#006633"))
##plot the bathymetry, some land topography is seen in the top left corner
plot.bathy(atl, land=T, image=T, bpal=blues(100), n=50)
##try setting the palettes by deep and shallow... no luck
plot.bathy(atl, land=T, image=T, bpal=c(blues(100), greens(100)),
deep=c(0, -7000), shallow=c(0, 2000), n=50)
答案 0 :(得分:0)
使用marmap v0.8(自6月以来可在CRAN上使用),plot.bathy的bpal参数现在接受一个向量列表,每个向量包含深度/高度切片和颜色名称/代码的边界。请参阅plot.bathy()
的最后一个示例,它完全符合您的需要。使用自定义调色板,您只需键入:
plot(atl, land = TRUE, n = 50, lwd = 0.1, image = TRUE,
bpal = list(c(min(atl), 0, blues(100)),
c(0, max(atl), greens(100))))
# Add coastline
plot(atl, deep=0, shallow=0, step=0, add=TRUE, lwd=.7)