我正在使用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中值的min、1四分位数、中位数、3四分位数、最大值。查看这个图,我们可以看到颜色将这个分区分成4个类(使用参数cuts =4at=c(fivenum(gwr.res$SDF$Unempl)。
我想做的是用调色板编辑边栏,并用c(fivenum(gwr.res$SDF$Unempl))中的值替换6,4,2,0,-2,以下值:
2.427 -0.916 -06.706,-0.494,7.566
发布于 2015-09-02 16:46:57
这就是起作用的代码:
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,因为数据不同。
https://stackoverflow.com/questions/32356176
复制相似问题