我有数据文件,有两列,Column1-States;列2 - 饱和度(%)。 使用package sp和RColorBrewer;为了制作地图,我下载了gadm - level1 india。 但我无法在印度地区投入比例,我该怎么办,请查看我的R代码 代码如下所示
ind1 = readRDS("IND_adm1.rds")
spplot(ind1, "NAME_1", scales=list(draw=T), colorkey=F, main="India")
ind1$NAME_1 = as.factor(ind1$NAME_1)
ind1$adhaar = runif(length(ind1$NAME_1))
spplot(ind1,"NAME_1", col.regions=rgb(0,ind1$adhaar, 0), colorkey=T,
main="Indian States")
答案 0 :(得分:2)
我修改了你的代码。您想使用adhaar
来填补印度地区。看到OP的评论,adhaar
似乎是一个数据文件。为了绘制下面的图形,我们需要一个包含下面adhaar
部分中spplot()
位置的饱和度值的列。
library(sp)
library(raster)
library(RColorBrewer)
ind1 <- getData("GADM", country = "india", level = 1)
set.seed(111)
ind1$NAME_1 <- as.factor(ind1$NAME_1)
ind1$adhaar <- runif(length(ind1$NAME_1))
spplot(ind1, "adhaar",
colorkey = list(space = "bottom"), scales = list(draw = TRUE),
main = "India")
如果您想使用RColorBrewer
并尝试反映饱和度(我假设为adhaar
),您可以使用cuts
和col.region
。您需要考虑如何设置cuts
。这部分由您决定。如果您想获得帮助,您希望提供最小的可重现数据以及代码。否则,这里的每个人都很难帮助你。无论如何,我希望这能为你提供一些想要为你的任务做些什么的想法。
spplot(ind1, "adhaar",
colorkey = list(space = "bottom"), scales = list(draw = TRUE),
main = "India", cuts = 5,
col.regions = brewer.pal(6, "Greens"))