我正在使用 R 中的“raster”包从栅格文件创建一些地图。我想创建比较栅格,并排显示几个地图。重要的是,所有地图使用的色标都是相同的,无论每张地图中的值如何。例如,如果地图 1 的值介于 0-1 之间,而地图 2 的值介于 0-0.5 之间,则值为 0.5 的单元格在两个地图上应该具有相同的颜色。
例如:
- 地图 1 的值从 0 到 1
- 地图 2 的值从 0 到 0.5
- 颜色从红色(最低)变为绿色(最高)
我希望 0.5 的值在两张地图中具有相同的颜色(即黄色,介于红色和绿色之间)。当前的行为是地图 1 中为黄色,地图 2 中为绿色。
我找不到使这项工作的方法。我看不到任何方法来设置与绘图功能一起使用的像素值范围。setMinMax() 没有帮助(因为 'plot' 总是计算值)。即使尝试手动设置值(例如 g1@data@max <- 10)也不起作用(绘图时会忽略这些值)。
最后,制作一堆地图(这可能会以相同的色标绘制所有内容)也不起作用 - 每张地图仍然有自己的色标。
关于如何做到这一点的任何想法?
编辑:
我最终使用的解决方案是:
plot( d, col=rev( rainbow( 99, start=0,end=1 ) ), breaks=seq(min(minValue( d )),max(maxValue(d)),length.out=100) )