R spplot图在地图上

时间:2015-03-18 19:09:02

标签: r plot charts geospatial

Hallo每个人都可以帮助我升级我的代码,并有可能将其他数据存入我的地图。这是为我绘制一张具有迁移强度的地图的代码,我正在尝试添加每个区域的非常信息(许多小饼图)。

绘制地图

con <- url("http://biogeo.ucdavis.edu/data/gadm2/R/UKR_adm1.RData")
print(load(con))
close(con)
name<-gadm$VARNAME_1
value<-c(4,2,5,2,1,2,4,2,2,4,1,1,1,4,3,3,1,1,3,1,2,4,5,3,4,2,1)
gadm$VARNAME_1<-as.factor(value)
col<- colorRampPalette(c('cadetblue4','cadetblue1','mediumseagreen','tan2','tomato3'))(260) 
spplot(gadm, "VARNAME_1", main="Ukraine", scales = list(draw = TRUE), col.regions=col)

sp.label <- function(x, label) {
        list("sp.text", coordinates(x), label)
}

NAME.sp.label <- function(x) {
        sp.label(x, x$NAME_1)
}

draw.sp.label <- function(x) {
        do.call("list", NAME.sp.label(x))
}

spplot(gadm, 'VARNAME_1', sp.layout = draw.sp.label(gadm), col.regions=col,
       colorkey = list(labels = list( labels = c("Very low","Low", "Average",
                                                 "High","Very high"),        
                                      width = 1, cex = 1)))

这是df的一部分,我试图将该地图添加为饼图或条形图,每个纬度(纬度)和经度(长)用于定位mu条形图或饼图。

df<-data.frame(region=c('Kiev oblast', 'Donezk oblast'), 
               rus=c(45,35), ukr=c(65,76), mold=c(11,44),long=c(50.43,48),
               lat=c(30.52, 37.82))

我发现了一个exampleanother,但是...无法弄清楚如何在ma情况下使用它。 希望对你有所帮助,谢谢。

只有我现在发现的解决方案,但它没有升级我的代码((

mapPies( df,nameX="lat", nameY="long", nameZs=c('rus','ukr','mold'),
xlim=c(30,33), ylim=c(44,53), symbolSize = 2)

1 个答案:

答案 0 :(得分:0)

也许这会有所帮助:

pieSP该函数提供SpatialPolygonsDataFrame,具体取决于几个属性,可用于plotGoogleMaps或spplot。

library(plotGoogleMaps)

data(meuse)
coordinates(meuse)<-~x+y
proj4string(meuse) <- CRS('+init=epsg:28992')

pies <- pieSP(meuse,zcol=c('zinc','lead','copper'), max.radius=120)
pies$pie  <- rep(c('zinc','lead','copper'),155)
pies$pie2 <- rep(1:3,155)

spplot(pies, 'pie2')