【问题标题】:mapping all of Latin America with rworldmap使用 rworldmap 绘制整个拉丁美洲的地图
【发布时间】:2015-03-03 18:09:16
【问题描述】:

我正在尝试使用 rworldmaps 包绘制拉丁美洲不同国家/地区的一些数据。当包括 mapRegion='latin america' 时,墨西哥被切断......除了使用 ylim 和 xlim 覆盖之外,还有什么方法可以包括墨西哥?谢谢。

library(rworldmap)  
df <- NULL  
df$country <- c("Brazil","Mexico","Argentina")  
df$code<-c("BRA", "MEX", "ARG")  
df$popsize<-c(1000, 5000, 200)  
df<-as.data.frame(df)  
sPDF <- joinCountryData2Map( df, joinCode = "ISO3", nameJoinColumn = "code")  
mapCountryData(sPDF, nameColumnToPlot="popsize", mapRegion='latin america')

【问题讨论】:

  • 您希望仅添加墨西哥,还是包括墨西哥南部的所有国家/地区?也就是说,西半球有没有可以删除加拿大和美国的区域?
  • 墨西哥南部的所有国家。不幸的是,看起来区域必须设置为以下之一:“欧亚大陆”、“非洲”、“拉丁美洲”、“英国”、“大洋洲”、“亚洲”。这就是我所希望的——以某种方式解决这个问题,甚至只是删除美国。

标签: r maps geospatial spatial rworldmap


【解决方案1】:

一种方法是选择您感兴趣的国家,使用bbox 函数获取这些国家的边界​​框,然后使用它来指定 xlim 和 ylim。

在您的代码之后继续:

#select out your countries
sPDFmyCountries <- sPDF[sPDF$NAME %in% df$country,]
#use the bbox to define xlim & ylim
mapCountryData(sPDF, nameColumnToPlot="popsize", xlim=bbox(sPDFmyCountries)[1,], ylim=bbox(sPDFmyCountries)[2,])

如果您只想显示您拥有的国家/地区的边界(即,如果您的数据中包含所有拉丁美洲国家),您可以这样做:

mapCountryData(sPDFmyCountries, nameColumnToPlot="popsize")

希望对您有所帮助。

【讨论】:

  • 这工作完美安迪,感谢您的帮助。看起来很棒。
  • 有没有机会在下一个版本中将我们墨西哥人纳入“拉丁美洲”...哈哈?
  • 当然!为将您的国家减半而造成的任何冒犯表示歉意;-)
猜你喜欢
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 2021-08-08
  • 1970-01-01
  • 2011-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多