我使用R中的“栅格”包创建了一些栅格文件的地图。我想创建比较栅格,并排显示几个地图。对所有地图使用的颜色比例都是相同的,无论每个地图的值如何都很重要。例如,如果地图1的值为0-1,地图2的值为0-0.5,则值为0.5的单元格在两个地图上应具有相同的颜色。如何创建R中具有相同色标的栅格图R
例如:
- 图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))
您最终使用的解决方案实际上是最佳答案。请把它作为答案并接受!我几乎错过了 - 我不在一个问题中寻找答案。 – TMS 2013-08-26 08:09:41
`spplot`为所有图层显示一个具有全局图例的`RasterStack`。 `raster`包为`spplot`定义了一个方法,所以你不需要将`RasterStack`转换为`Spatial *`对象来使用它。 – 2013-08-28 22:44:25