在R中创建地图的方式与rworldmap相同,只是针对特定的国家和省份

在R中创建地图的方式与rworldmap相同,只是针对特定的国家和省份,r,plot,ggplot2,maps,rworldmap,R,Plot,Ggplot2,Maps,Rworldmap,我使用世界银行数据的rworldmap包,我很喜欢。我想绘制伊朗的地图,以及每个省份的相关数据。实现这一点的步骤是什么?我知道我们可以在R中为像我们这样的一些国家绘制这样的地图,但不是所有国家都可以。您可以使用光栅软件包直接导入GADM数据。然后,可以使用ggplot2绘制地图。下载数据时,可以指定不同的级别。根据这一点,您可以看到不同的边界 library(raster) library(ggplot2) ### Get data iran<- getData("GADM", coun

我使用世界银行数据的
rworldmap
包,我很喜欢。我想绘制伊朗的地图,以及每个省份的相关数据。实现这一点的步骤是什么?我知道我们可以在
R
中为像我们这样的一些国家绘制这样的地图,但不是所有国家都可以。

您可以使用
光栅
软件包直接导入GADM数据。然后,可以使用ggplot2绘制地图。下载数据时,可以指定不同的级别。根据这一点,您可以看到不同的边界

library(raster)
library(ggplot2)

### Get data
iran<- getData("GADM", country = "Iran", level = 2)

### SPDF to DF
map <- fortify(iran)

### Draw a map
ggplot() +
geom_map(data = map, map = map, aes(x = long, y = lat, map_id = id, group = group))

您可以将
rworldmap
与@jazzurro的建议结合使用
光栅
来获得GADM边界

library(raster)
library(ggplot2)

### Get data
iran<- getData("GADM", country = "Iran", level = 2)

### SPDF to DF
map <- fortify(iran)

### Draw a map
ggplot() +
geom_map(data = map, map = map, aes(x = long, y = lat, map_id = id, group = group))
我想你的主要困难可能是让你的数据和地图上的省名相匹配

下面的示例使用您可以更改的默认值,并为每个省提供不同的颜色

library(raster)
library(rworldmap)
## 1 Get map of provinces (level 1 admin regions)
iranLevel1<- raster::getData("GADM", country = "Iran", level = 1)

## 2 join your [data] onto the map by specifying the join column in each
## this will report on any mis-matches between province names
#iranLevel1 <- rworldmap::joinData2Map([data],nameMap="iranLevel1",nameJoinIDMap="NAME_1",nameJoinColumnData=[insert])

## 3 plot map (change NAME_1 to the data you want to plot)
rworldmap::mapPolys(iranLevel1, nameColumnToPlot="NAME_1", addLegend=FALSE)

## 4 add text labels for provinces
text(iranLevel1, label="NAME_1", cex=0.7)
库(光栅)
图书馆(世界地图)
##1获取省份地图(一级行政区域)

Iranlevel1您最好下载一些伊朗的GIS形状文件数据,然后使用其中一个空间包在R中绘制这些数据-请参阅此处的a文件,该文件可能适合您的目的:似乎GADM的数据不可信!