2014-10-02 107 views
1

我正在繪製兩個柵格數據,生成下面的圖像。兩個柵格之間的散點圖,給出第三個柵格的顏色

我想用第三個柵格數據(具有相同的bbox,像素大小等)的變量對圖中的每個點進行着色。 來自R-Users的任何想法?這個操作非常容易繪製數據集的數據,但我不知道柵格...

在這裏我附上了代碼(簡化了,我認爲你不需要所有的繪圖參數,比如abline,xlab等等上)產生的圖像:

plot(mask(raster1, my_mask,maskvalue=0), #first raster, masked by my_mask 
     mask(raster2, my_mask,maskvalue=0), #second raster, masked by my_mask   
     col = alpha('black', 0.1), #the current color scheme  
    ) 
raster3 #raster with categorical variable, 
     #that should give the colors to the points in the graph 

非常感謝! plot betwween two raster

+0

從本質上說,你要在不同的(具體點嗎?)顏色從第三格柵覆蓋只是點? – 2014-10-02 08:18:32

+0

嗨羅馬,確切地說。顏色應該來自第三個柵格的柵格值。 第三個柵格有少數數字(約五個)。 – FraNut 2014-10-02 09:28:23

+0

你可以製作一個可重現的例子嗎? – 2014-10-02 10:48:55

回答

2

隨着 rasterVis ,好像他們是的 data.frame列可以使用RasterStack的層限定的xyplot方法。因此,它們可以是公式的組成部分或參數groups的參數。

例如,

library(raster) 
library(rasterVis) 

f <- system.file("external/test.grd", package="raster") 
r <- raster(f) 
r2 <- r + 500 * init(r, rnorm) 
## categorical variable 
r3 <- cut(r, 3) 

s <- stack(r, r2, r3) 
names(s) <- c('r', 'r2', 'r3') 

xyplot(r ~ r2, groups = r3, data = s, 
     auto.key = list(space = 'right'), 
     alpha = 1) 

scatterplot

+0

謝謝奧斯卡獎。通過使用例如,我發現還此解決方案: my.colors < - 的GetValues(R3) 我剛轉化在一個載體中的 「分類光柵」 的情節(R,R 2,COL = my.colors)。 – FraNut 2014-10-06 07:54:41