2015-03-18 3 views
0

Hallo каждый может помочь мне обновить мой код с возможностью внесения дополнительных данных на мою карту. Это код, который рисует мне карту с интенсивностью миграции, и я пытаюсь добавить ehtnic информацию о каждом регионе (многие маленькие круговые диаграммы).R spplot диаграммы на карте

нарисовать карту

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))) 

и это часть ФР, что я пытаюсь добавить к этой карте в виде круговой диаграммы или гистограммы, с каждой широты (LAT) и долготы (длинный) для поиска mu bar или круговых диаграмм.

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)) 

я нашел example и another, но ... не могу понять, как использовать его в ма случае. Надеюсь на вашу помощь, спасибо.

только это решение я обнаружил, к настоящему времени, но не обновляет свой код (((

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

ответ

0

возможно это поможет:

pieSP Функции обеспечения SpatialPolygonsDataFrame в зависимости от нескольких атрибутов, готов к использованию для plotGoogleMaps или spotot.

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') 
Смежные вопросы