[英]how to use same color intervals for different spplots in R
我已經插入了不同日期的溫度數據圖,例如:
我想並排顯示不同日子的地圖,但是想要兩者都有相同的顏色漸變和間隔。 最高溫度值為: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
。 以下是使用image
和image.plot
作為圖例的示例(改編自https://stat.ethz.ch/pipermail/r-sig-geo/2007-June/002143.html )。 通過設置數據的上限和下限( zlim
),您可以創建兩個相同的顏色漸變。 只需用您自己的數據替換zinc.idw
和copper.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.