Как редактировать панель палитры в функции 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, потому что данные разные.