首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R: rworldmap发行和传单应用

R: rworldmap发行和传单应用
EN

Stack Overflow用户
提问于 2015-10-09 14:50:06
回答 1查看 1.7K关注 0票数 4

我制作了一张传单地图,覆盖了一些国家的R传单网页地图,然而,投影/布局似乎有问题,俄罗斯的一部分发现它在相邻的框架上。

守则:

代码语言:javascript
复制
library(rworldmap)
library(countrycode)



## country is in text 
cnt <- c("Russia","Afghanistan", "Albania"," Algeria"," Argentina","   Armenia", "Azerbaijan"," Bangladesh"," Belarus")


#convert to ISO3 code
iso3 = countrycode(cnt, "country.name", "iso3c")

df= as.data.frame(cnt)
malMap <- joinCountryData2Map(df, joinCode = "ISO3", nameJoinColumn = "cnt")

## subset data
dfapr <- malMap[malMap$ISO3 %in% iso3, ]
plot(dfapr)

这个问题的主要后果是,如果你正在制作一个网络地图,它看起来会是这样的:

我们该如何解决这个问题。是任何低分辨率的世界地图,其中我们可以选择国家根据ISO代码,是几何上更一致。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-09 15:56:01

下面是我所说的评论的一个例子。

代码语言:javascript
复制
library(sp)
library(maps)
library(maptools)
library(leaflet)

# make sure to use the latest maps package
# it was recently updated at the time of the answer

world <- map("world", fill=TRUE, plot=FALSE)
world_map <- map2SpatialPolygons(world, sub(":.*$", "", world$names))
world_map <- SpatialPolygonsDataFrame(world_map,
                                      data.frame(country=names(world_map), 
                                                 stringsAsFactors=FALSE), 
                                      FALSE)

cnt <- c("Russia", "Afghanistan", "Albania", "Algeria", "Argentina", "Armenia",
         "Azerbaijan", "Bangladesh", "Belarus")

target <- subset(world_map, country %in% cnt)

leaflet(target) %>% 
  addTiles() %>% 
  addPolygons(weight=1)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33041266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档