2012-03-21 106 views
7

我一直在试图在ggplot2上绘制世界地图。我按照电子邮件的线索:ggplot map with l,但我遇到了同样的错误消息,我不明白作者如何解决它的意见。在ggplot2上映射世界

library(rgdal) 
library(ggplot2) 
library(maptools) 
library(sp) 
gpclibPermit() 

world.map <- readOGR(dsn="data", layer="TM_WORLD_BORDERS_SIMPL-0.3") 
world.ggmap <- fortify(world.map, region = "NAME") 

> world.ggmap <- fortify(world.map, region = "NAME") 
Error in nchar(ID) : invalid multibyte string 1 
+1

你的'sessionInfo()'是什么?确保你有最新的R和包。你还会得到这个错误吗? – 2012-03-27 09:07:13

+0

你有没有研究过这个问题?(http://stackoverflow.com/questions/9558040/ggplot-map-with-l) – 2012-04-06 07:11:57

回答

6

于是,我跟着指示here,或多或少,创造这个世界地图:

ggplot2 world

library(ggplot2) 
library(cshapes) 
world <- cshp(date=as.Date("2008-1-1")) 
world.points <- fortify(world, region='COWCODE') 
p <- ggplot(world.points, aes(long,lat,group=group)) + geom_polygon() 
p 

看起来它需要一些更多的工作,以这个数据相结合,例如为专题地图,但上面的帖子详细介绍了这一点。

不知道你是否仍然需要这个答案,但我希望这对任何情况下的人都有帮助。

+4

除了格陵兰岛的居民外,至少对任何人都有帮助;) – geotheory 2013-12-18 16:18:21

+0

或者南极洲.. – naught101 2014-10-26 21:33:16