2013-11-20 78 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)會將新事物繪製在「頂部」,所以你不會看到後面的工作。

希望有道理!

相關問題