1

我正在使用 rasterVis 包绘制栅格图,该包使用 lattice 生成图。我正在为一些数据制作水平图,并且该图会根据输入数据集的值自动选择配色方案。

例如,假设我的数据是 (x,y,z) 的形式,其中 x 是数据点的水平位置,y 是垂直位置,z 表示高程。如果我用我的数据创建水平图,数据的颜色取决于 z。默认情况下,lattice 使用 z 的范围来选择我的绘图的配色方案。但是,为了使我的绘图与其他数据集具有可比性,我想手动设置颜色的限制。

另一个例子:这是来自 rasterVis 网站的图片: rasterVis 图像

默认情况下,最深的红色是数据中的最低 z 值,最深的蓝色是数据中最高的 z 值。有没有办法手动将配色方案的限制设置为其他值,例如 c(-3000, 3000)?

4

1 回答 1

5

生成上述图像的代码位于:http ://rastervis.r-forge.r-project.org/

确实需要首先下载两个不同的大 zip 文件并更改设置工作目录的代码。

回答这个问题的一种方法是对您想要绘制的值进行子集化。

levelplot(Aug-meanAug, par.settings=RdBuTheme, 
                       subset= Aug > -1500 & Aug < 500 )

在此处输入图像描述

要产生更大的范围,您需要将绘图规格与颜色键相匹配

rgb.palette <- colorRampPalette(c("red", "orange", "blue"),
                             space = "rgb")

levelplot(Aug-meanAug, col.regions=rgb.palette(16), 
                     at=seq(-3000, 3000, length=15) , contour=TRUE, 
                      colorkey=list( at=seq(-3000, 3000, length=15), 
                                      col=rgb.palette(16) ))

在此处输入图像描述

于 2013-05-31T01:30:43.123 回答