====== Map from WorldMap in R ====== http://egallic.fr/en/european-map-using-r/ > setwd("C:/Users/batagelj/Documents/papers/2018/CRoNoS/shape/Europe") > library(ggplot2) > library(grid) > library(rworldmap) > library(mapproj) > worldMap <- getMap() > names(worldMap) [1] "ScaleRank" "LabelRank" "FeatureCla" "SOVEREIGNT" "SOV_A3" [6] "ADM0_DIF" "LEVEL" "TYPE" "ADMIN" "ADM0_A3" [11] "GEOU_DIF" "GEOUNIT" "GU_A3" "SU_DIF" "SUBUNIT" [16] "SU_A3" "NAME" "ABBREV" "POSTAL" "NAME_FORMA" [21] "TERR_" "NAME_SORT" "MAP_COLOR" "POP_EST" "GDP_MD_EST" [26] "FIPS_10_" "ISO_A2" "ISO_A3" "ISO_N3" "ISO3" [31] "LON" "LAT" "ISO3.1" "ADMIN.1" "REGION" [36] "continent" "GEO3major" "GEO3" "IMAGE24" "GLOCAF" [41] "Stern" "SRESmajor" "SRES" "GBD" "AVOIDnumeric" [46] "AVOIDname" "LDC" "SID" "LLDC" > europe <- c("Austria","Belgium","Bulgaria","Croatia","Cyprus", + "Czech Rep.","Denmark","Estonia","Finland","France", + "Germany","Greece","Hungary","Ireland","Italy","Latvia", + "Lithuania","Luxembourg","Malta","Netherlands","Poland", + "Portugal","Romania","Slovakia","Slovenia","Spain", + "Sweden","United Kingdom", + "Albania","Andorra","Bosnia and Herz.","Gibraltar","Guernsey", + "Isle of Man","Jersey","Liechtenstein","Macedonia","Monaco", + "Montenegro","San Marino","Serbia","Switzerland","Armenia", + "Azerbaijan","Belarus","Faroe Is.","Georgia","Iceland", + "Jan Mayen","Moldova","Svalbard","Turkey","Ukraine","Russia", + "Vatican","Kosovo") > p <- match(europe,worldMap$NAME) > europe[which(is.na(p))] [1] "Gibraltar" "Jan Mayen" "Svalbard" > indEU <- which(worldMap$NAME%in%europe) > europeCoords <- lapply(indEU, function(i){ + df <- data.frame(worldMap@polygons[[i]]@Polygons[[1]]@coords) + df$region =as.character(worldMap$NAME[i]) + colnames(df) <- list("long", "lat", "region") + return(df) + }) > europeCoords <- do.call("rbind", europeCoords) > head(europeCoords) long lat region 1 20.59025 41.85540 Albania 2 20.46318 41.51509 Albania 3 20.60518 41.08623 Albania 4 21.02004 40.84273 Albania 5 20.99999 40.58000 Albania 6 20.67500 40.43500 Albania > value <- sample(x=seq(0,3,by=0.1),size=length(europe),replace=TRUE) > europeTable <- data.frame(country=europe,value=value) > europeCoords$value <- europeTable$value[match(europeCoords$region,europeTable$country)] > P <- ggplot() + geom_polygon(data=europeCoords, + aes(x=long,y=lat,group=region,fill = value),colour="black",size=0.1) + + coord_map(xlim=c(-25,52),ylim=c(31,71)) > P {{notes:da:pics:ggeurope.png}} Possible improvements: > P <- P + scale_fill_gradient(name="Growth\nRate",low="#FF0000FF",high="#FFFF00FF",na.value="grey50") > P {{notes:da:pics:ggeurope2.png}} > P <- P + theme(#panel.grid.minor=element_line(colour=NA),panel.grid.minor=element_line(colour=NA), + #panel.background = element_rect(fill=NA,colour=NA), + axis.text.x=element_blank(),axis.text.y=element_blank(),axis.ticks.x=element_blank(), + axis.ticks.y=element_blank(),axis.title=element_blank(),#rect=element_blank(), + plot.margin=unit(0*c(-1.5,-1.5,-1.5,-1.5),"lines")) > P {{notes:da:pics:ggeurope3.png}} \\ [[notes:da:ciaeu|Back to CIA Europe data]]