0
这里是我的数据:数据丢失通过绘制的地图,GGPLOT2
的shape文件可以在这里下载Swiss Federal Office of Topography。
数据在适当的水平可以下载here。
这里是我的代码:
library(stringr)
library(plyr)
library(rgdal)
library(ggplot2)
#load map
map.gem<- readOGR(dsn="path to your shapefile", layer="VEC200_Commune")
data <- data.frame(id=rownames([email protected]),
[email protected]$BEZIRKSNR)
data$id <- as.character(data$id)
bez <- read.csv("~/586.csv", sep=";")
#bez should look like this:
head(bez)
BEZNR res_586
101 30.76
102 29.53
103 28.56
104 27.71
105 29.42
106 28.96
data1 <- merge(data, bez, by="BEZNR")
map.df <- fortify(map.gem)
map.df <- join(map.df, data1, by="id")
通常这个过程运作良好(感谢@jlhoward),但这次我一路上丢失数据。
这里的ggplot部分:
ggplot(data=map.df, aes(long,lat, group=group))+
geom_polygon(aes(fill=res_586))+
coord_fixed()+
scale_fill_gradient2(low = "palevioletred3", high = "cadetblue", guide = "colourbar")+
theme(axis.text=element_blank(),
axis.ticks=element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank())
一些灰色区域是湖,这是没有问题的。但地图中心的主要区域让我头疼。我希望有人能给我一个提示,尽管我不太确定这个问题是否属于这里。
再次感谢您的有用评论!我不知道,为什么BEZIRKSNR == 0。我手动添加了这样的真实值:'[email protected]$BEZIRKSNR [map.gem @ data $ KANTONSNR == 4&map.gem @ data $ COUNTRY ==“CH”] < - 400'等 – Thomas 2014-11-06 10:19:42