簡體   English   中英

如何在R中為不同的spplots使用相同的顏色間隔

[英]how to use same color intervals for different spplots in R

我已經插入了不同日期的溫度數據圖,例如:

2個插值地圖(左:1月,右:7月

我想並排顯示不同日子的地圖,但是想要兩者都有相同的顏色漸變和間隔。 最高溫度值為:29.8分鍾:-13.4

我確實嘗試使用如何在R中的不同地圖中使用相同顏色比例的答案 但這樣做我確實得到了一個錯誤:

maxim <- 30
minim <- -14
cuts <- 2*(-7:15)
p1 <- spplot(idw_ger, "var1.pred", main="IDW January, 10", cuts=cuts, col.regions=bpy.colors(30)) +
latticeExtra::layer(sp.polygons(ger, fill = NA, col = 'blue')) +
latticeExtra::layer(sp.points(tdata,
                            fill = NA, col = 'black'))

seq.default中的錯誤(zrng 1 ,zrng [2],length.out = cuts + 2):length必須是非負數此外:警告消息:在seq.default中(zrng 1 ,zrng [2],length .out = cuts + 2):'length.out'參數使用的第一個元素

我做錯了什么,我怎么能把它帶到工作中?

鑒於只能為SpatialPointsDataFrame指定精確cuts ,我認為您需要使用spplot的替代spplot 以下是使用imageimage.plot作為圖例的示例(改編自https://stat.ethz.ch/pipermail/r-sig-geo/2007-June/002143.html )。 通過設置數據的上限和下限( zlim ),您可以創建兩個相同的顏色漸變。 只需用您自己的數據替換zinc.idwcopper.idw

加載數據:

library(sp)
library(gstat)
library(fields)
data(meuse)
coordinates(meuse) = ~x+y
data(meuse.grid)
coordinates(meuse.grid) = ~x+y
gridded(meuse.grid) = TRUE

創建兩個IDW網格:

zinc.idw = krige(zinc~1, meuse, meuse.grid)
copper.idw = krige(copper~1, meuse, meuse.grid)

設置情節:

par(mfrow=c(1,2),oma=c(2,2,2,2))
cols = bpy.colors(30)
zmin = 0
zmax = 1000

繪制地圖和測量位置:

image(zinc.idw, zlim=c(zmin,zmax),col=cols)
box()
mtext(side=3,text='zinc')
points(meuse, pch = 3)

添加圖例:

image.plot( zlim=c(zmin,zmax), nlevel=5,legend.only=TRUE, horizontal=F, col=cols)

其他銅網相同;

image(copper.idw, zlim=c(zmin,zmax),col=cols)
box()
mtext(side=3,text='copper')
points(meuse, pch = 3)
image.plot( zlim=c(zmin,zmax), nlevel=5,legend.only=TRUE, horizontal=F, col=cols)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM