2013-11-20 79 views
0

我想绘制一张国家地图的简单轮廓,并且在两个纬度之间有一个阴影区域,阴影为灰色。 我想我需要使用rworldmap库,但我不确定如何实现我想要的。国家地图上的两个纬度之间的阴影

+0

'rworldmap'是一条路可走,但如果你想熟悉R中GIS,你应该相当具有'sp','maptools'和'rgdal'(他们结伴而行)开始。至于你的问题,你应该开始绘制你的国家(使用国家的shapefile或'rworldmap'或其他),然后叠加一个带透明度的灰色多边形。要生成多边形,请参见包'sp'中的'?SpatialPolygons'。你也可以检查[斯特曼的作弊表格](http://www.maths.lancs.ac.uk/~rowlings/Teaching/UseR2012/cheatsheet.html)。 – plannapus

回答

0

其他人的好建议。我最初认为你可能希望纬度阴影超出国界。如果出现这种情况,可以使用rworldmap作为地图,sp来绘制它,polygon从基础图形中添加纬度着色。如果您想投影,您可以使用spTransform中的spTransform进行修改,或者如果您想裁剪国家边界,则可以使用Sam的建议。

library(rworldmap) 
library(sp) 

sPDFworld <- getMap(resolution="low") 
#getMap() maps have ADMIN & NAME fields with country names formatted differently 
#use sPDFworld$ADMIN sPDFworld$NAME to check 

country <- "United Kingdom" 

#to plot just this country (uses sp) 
plot(sPDFworld[ sPDFworld$ADMIN==country, ]) 

#shade a latitude region 
polygon(x=c(-180,-180,180,180),y=c(55,60,60,55),col=adjustcolor('grey',alpha.f=0.5),border=NA) 
0

我会做一些在https://stackoverflow.com/a/13986029/1358308。您可以根据需要裁剪到“矩形”,然后将生成的多边形的内部图形绘制为“灰色”,并且不要通过将它们设置为NA来打印border

如果您在较大的轮廓之后(使用相同的多边形,在交叉之前)绘制此图,那么您应该只填充该国家。如果要使用不同的颜色填充“水”,则您可以做到“第一”。后面的plot(x, add=TRUE)会将新事物绘制在“顶部”,所以你不会看到后面的工作。

希望有道理!

相关问题