我导入欧洲地区的形状文件,包括。 R在俄罗斯使用
ERMap <- readOGR(dsn = sfPath, layer = "general_2011_onlyEURO")
positions <- fortify(ERMap, region = "ISO_3_CODE")
我使用plot(ERMap)
绘制原始地图。问题1:俄罗斯最东部地区被切断并出现在地图的最西部。
我将一些数据分配给地图区域的国家/地区,最后使用
获取最终地图p <- ggplot() +
geom_polygon(data = plotData, aes(x = long, y = lat, group = group,
fill = plotData$value), color = "black", size = 0.25)
问题2:除了切断之外,地图也是水平压缩的。
导入的形状文件(ERMap):
Object of class SpatialPolygonsDataFrame
Coordinates:
min max
x -179.99891 179.99841
y 29.48892 81.49686
Is projected: FALSE
proj4string :
[+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0]
Data attributes:
CNTRY_TERR SOVEREIGN ISO_3_CODE ISO_2_CODE UN_CODE WHO_CODE WHO_REGION
Albania : 1 Albania : 1 ALB : 1 AD : 1 Min. : 0.0 Min. : 0 EURO:53
Andorra : 1 Andorra : 1 AND : 1 AL : 1 1st Qu.:203.0 1st Qu.:4030
Armenia : 1 Armenia : 1 ARM : 1 AM : 1 Median :398.0 Median :4180
Austria : 1 Austria : 1 AUT : 1 AT : 1 Mean :412.4 Mean :3954
Azerbaijan: 1 Azerbaijan: 1 AZE : 1 AZ : 1 3rd Qu.:643.0 3rd Qu.:4260
Belarus : 1 Belarus : 1 BEL : 1 BA : 1 Max. :860.0 Max. :4335
(Other) :47 (Other) :47 (Other):47 (Other):47
WHO_STATUS REAL_VALUE
Member state:53 Min. :0.0000
1st Qu.:0.0000
Median :0.0000
Mean :0.4717
3rd Qu.:0.0000
Max. :7.0000
我的绘图数据看起来像那样
id long lat group value
1 ALB 19.69318 42.67708 ALB.1 5.67525
2 ALB 20.54673 42.25031 ALB.1 5.67525
3 ALB 20.50406 41.22604 ALB.1 5.67525
4 ALB 21.10155 40.73524 ALB.1 5.67525
5 ALB 20.80280 40.09507 ALB.1 5.67525
6 ALB 20.11996 39.54026 ALB.1 5.67525
情节数据汇总
> summary(plotData)
id long lat group value
SMR : 368 Min. :-180.00 Min. :29.49 AND.1 : 361 Min. : 4.182
AND : 367 1st Qu.: 6.40 1st Qu.:41.04 MCO.1 : 361 1st Qu.: 7.339
MCO : 361 Median : 14.23 Median :43.51 SMR.1 : 361 Median : 9.081
RUS : 323 Mean : 24.07 Mean :47.06 RUS.1 : 231 Mean : 9.551
KAZ : 54 3rd Qu.: 28.80 3rd Qu.:49.95 KAZ.1 : 54 3rd Qu.:13.470
FRA : 52 Max. : 180.00 Max. :81.50 NOR.1 : 49 Max. :14.602
(Other):1070 (Other):1178 NA's :1029
我在R中使用maps / ggplot非常新,非常感谢一些提示,从哪里开始解决这些问题。
我的问题是:
答案 0 :(得分:0)
我不确定这是否有帮助,但在绘制数据之前强化数据可能是个好主意。
ERmap.f<-fortify(ERmap)
与垂直压缩相比,它有助于在ggplot中使用coord_map()
函数,如下所示:
p <- ggplot() +
geom_polygon(data = ERmap.f, aes(x = long, y = lat, group = group,
fill = plotData$value), color = "black", size = 0.25)+
coord_map()