【发布时间】:2016-04-14 00:09:38
【问题描述】:
我正在使用 spplot 绘制德国的热图,我有来自 GADM German shape file Level 1 的形状文件
http://biogeo.ucdavis.edu/data/gadm2.8/rds/DEU_adm1.rds
我能够制作热图,但我认为地图绘制错误,例如在我的数据中,“不来梅”的值为 0,但“萨克森-安哈尔特” " 被绘制为 0 值的白色,是否与 .rds 文件中的映射有关?
这是我的代码
library(sp)
library(latticeExtra)
### load the German federal state polygons
my.data <- readRDS("DEU_adm1.rds")
sample <- read.csv(file.choose())
final <- merge(x =my.data@data, y = sample, by = "ID_1", all.y = TRUE)
my.data@data <- data.frame(my.data@data, sample[match(my.data@data[,"ID_1"], sample[,"ID_1"]),])
### German language hick-ups need to be resolved
enamessp <- gsub("?", "ue", my.data@data$NAME_1)
my.data@data$NAME_1 <- enamessp
### insert the newly created clicksvariable into the spatial data frame
my.data$clicks <- sample$clicks
clrs <- c('#F4F1A2',
'#F4F1A2',
'#E6EAA2',
'#E6EAA2',
'#CFE3A2',
'#CFE3A2',
'#9AD0A3',
'#9AD0A3',
'#7FC9A4',
'#7FC9A4',
'#32B9A3',
'#32B9A3',
'#00A7A2',
'#00667E',
'#00667E',
'#1D4F73'
)
spplot(my.data, zcol = "clicks", main = "Region Distribution",
col.regions = clrs,at=sort(sample$clicks))
这是样本的输入:
structure(list(ID_1 = c(7L, 4L, 5L, 14L, 12L, 15L, 11L, 13L,
2L, 3L, 16L, 6L, 10L, 9L, 8L, 1L), clicks = c(19L, 4L, 0L, 12L,
4L, 3L, 8L, 5L, 41L, 12L, 4L, 11L, 59L, 19L, 4L, 25L)), .Names = c("ID_1",
"clicks"), class = "data.frame", row.names = c(NA, -16L))
【问题讨论】:
-
对不起,但我真的想知道“德国热图”是否与普通热图不同:)。
-
不,不仅仅是我对错误绘制的区域有问题,是形状文件吗?你能帮忙吗?
-
我看过了,但我从哪里得到“DEU_adm1.rds”?
-
我分享了链接“德国形状文件”,您可以在那里下载它,从下拉列表中选择德国,然后从第二个下拉列表中选择 R 形状文件的选项,然后在结果页面上您可以下载名为 Level 1 的文件。希望对您有所帮助
-
好的,修复了你的最后一个错误。