我正在尝试用Chelsa或WorldClim的生物气候变量生成整个世界的栅格图。
我无法生成漂亮的地图,尤其是在处理具有大范围值的降水数据时。尝试任何色标都会产生几乎单色的地图,因为只有极少数点降水量非常高,而世界其他地方则相对较低。
在绘制地图时,有一些优雅的方法可以拉伸颜色吗?我更喜欢使用log或标准差的非线性拉伸。有没有办法不需要计算并保存全新的栅格?
我已经尝试过函数表格光栅包stretch
,但我的电脑无法在运行功能期间将数据分配到PC内存中。
答案 0 :(得分:2)
对于地图合成,您无需创建新的栅格,只需更改图例颜色范围。
library(raster)
library(classInt)
library(rasterVis)
library(RColorBrewer)
r <-getData('worldclim', var='bio', res=10)
levelplot(r[[12]], col.regions=colorRampPalette(brewer.pal(9, 'Blues')),margin=FALSE,main ='Normal breaks')
使用classIntervals()
包中的classInt
功能,您可以计算新的中断。
breaks <- classIntervals(r[[12]][!is.na(r[[12]])], n = 50, style = "quantile")
levelplot(r[[12]], at = breaks$brks, col.regions=colorRampPalette(brewer.pal(9, 'Blues')),margin=FALSE,main ='Quantile breaks')