Как редактировать панель палитры в функции R 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)), которое соответствует min, 1-му квартилю, медиане, 3-му квартилю, максимуму значений в gwr. Рез $SDF$Unempl. Глядя на график, мы видим, что цвета учитывают это разбиение на 4 класса (используя аргументы cuts = 4 at = c(fivenum(gwr.res$SDF$Unempl))).

Что я хотел бы сделать, это отредактировать боковую панель с палитрой и добавить заменить 6,4,2,0,-2 на значения в c(fivenum(gwr.res$SDF$Unempl)), которые:

-2,427, -0,916, -0. 6,706, -0,494, 7,566

1 ответ

Решение

Вот код, который работает:

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, потому что данные разные.

Другие вопросы по тегам