簡體   English   中英

如何在R函數spplot中編輯調色板欄?

[英]How to edit the palette bar in the R function spplot?

我正在使用R包GWmodel。 在繪制GWR的輸出時,我發現自己無法在ssplot函數中編輯側欄。

我正在使用的幾行代碼(數據已經在包中)就足夠了。 您只需要安裝GWmodel庫:

library(GWmodel)
data("DubVoter")

bw.gwr.1 <- bw.gwr(GenEl2004 ~ DiffAdd + LARent + SC1 + Unempl + LowEduc + Age18_24 + Age25_44 + Age45_64, data = Dub.voter, approach = "CV", kernel = "gaussian", adaptive = FALSE)

gwr.res <- gwr.basic(GenEl2004 ~ DiffAdd + LARent + SC1 + Unempl + LowEduc + Age18_24 + Age25_44 + Age45_64, data = Dub.voter, bw = bw.gwr.1,  kernel = "gaussian", adaptive = FALSE, F123.test = TRUE)



Greens <- c("#238B45","#74C476","#BAE4B3","#EDF8E9")

spplot(gwr.res$SDF, "Unempl", cuts = 4, at = c(fivenum(gwr.res$SDF$Unempl)), col.regions = Greens)

結果看起來像:

在此處輸入圖片說明

如您在spplot函數中看到的,參數at的值為c(fivenum(gwr.res $ SDF $ Unempl)),該值對應於gwr中的最小值,第一四分位數,中位數,第三四分位數。 res $ SDF $ Unempl。 查看該圖,我們可以看到顏色將分區分為4類(使用cuts = 4 at = c(fivenum(gwr.res $ SDF $ Unempl)的參數))。

我想做的是用調色板編輯側欄,並用c(fivenum(gwr.res $ SDF $ Unempl))中的值添加替換6,4,2,0,-2,它們是:

-2.427,-0.916,-0。 6.706,-0.494、7.566

那是起作用的代碼:

labelat = fivenum(gwr.res$SDF$Unempl)
labeltext = labelat 


spplot(gwr.res$SDF, "Unempl", cuts = 4, at = c(fivenum(gwr.res$SDF$Unempl)), col.regions = Greens,
colorkey=list(width=0.3,      
              space="right", 
              tick.number=5, 
              labels=list(  
                at=labelat, 
                labels=labeltext )))

在此處輸入圖片說明

請注意,側欄上的值不同於-2.427,-0.916和-0。 6.706,-0.494、7.566,因為數據不同。

暫無
暫無

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

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