2016-09-25 1 views
0

나는 데이터를 표시하기 위해 세계지도를 만들 때 rworldmap을 사용하고 있습니다. 내 데이터의 경우 소규모 섬 국가는 매우 중요하지만 전 세계가 언제 표시되는지는 너무 작습니다. 그래서 섬나라의 위치에 적절한 범주의 색으로 보이는 작은 점/원을 표시하고 싶습니다. 나는 주변을 둘러 보았지만 이것을위한 해결책을 찾지 못했습니다. 물론 모든 섬나라에 대해 수동으로이 작업을 수행 할 수 있습니다. 제 질문은 더 빠른 해결책이 있습니까?세계지도에 도트로 섬을 표시합니다.

예를 들어, rworldmap 패키지와 함께 제공되는 데이터 (이 경우 생물 다양성)를 플롯하기위한 표준 예가 있습니다. 이지도에서 어떻게 내가 섬나라를 보여줄 수 있겠습니까? 모든 제안을 부탁드립니다!

library(rworldmap) 
mapCountryData() 
data("countryExData",envir=environment(),package="rworldmap") 
sPDF <- joinCountryData2Map(countryExData 
       , joinCode = "ISO3" 
       , nameJoinColumn = "ISO3V10" 
      ) 
mapCountryData(sPDF 
       , nameColumnToPlot="BIODIVERSITY" 
      ) 
+3

꽤 광범위한 질문을 변경할 수 있습니다. 제 제안은 모든 국가의 무게 중심으로 파일을 찾은 다음 작은 섬 국가로 간주하는 파일을 유지하고 이러한 점을 계획하는 것입니다. 아마도 이러한 파일은 이미이 패키지 중 하나에 있습니다. – lmo

답변

0

올바른 방향으로 나를 가리켜 주신 덕분에덕분에 해결책을 찾았습니다. 재현 가능한 예제를 포함하여 여기에 답을 제공 할 것입니다. 나는 내가 충분히 명확하지 않은 질문을 한 가지 더 설명해야한다고 생각한다. 나는 세계의 모든 국가들이 세계지도를 얻기 위해 계획되기를 원한다. 그런 다음, 섬 국가에 대해 추가 점을 추가하여이를 보이게합니다. 내가 찾은 해결책은 처음으로 정상적인 세계지도를 작성한 다음 두 번째지도를 첫 번째 플롯에 추가하는 것이었지만 선택한 섬 국가의 경우에만 lmo으로 제안되었습니다.

여기에, 밖으로 시작하려면 코드가 여기에 기본적인 플롯을

par(mar=c(0,0,1,0)) 
data("countryExData",envir=environment(),package="rworldmap") 
sPDF <- joinCountryData2Map(countryExData, joinCode = "ISO3", nameJoinColumn = "ISO3V10") 
mapCountryData(sPDF, nameColumnToPlot="BIODIVERSITY", catMethod="fixedWidth") 

을 생산하기 위해 다시이며, 섬은 단순히 너무 작은, 표시되지 않습니다. 이제는이 섬 국가들에 대해서만 데이터 세트를 생성해야합니다. 데이터 집합에 포함되어 있지 않으므로 원하는 부분을 보여주기 위해 일부 섬 국가를 선택하고 다른 데이터 집합의 일부 데이터를 다시 사용했습니다. 따라서 데이터는 실제 데이터가 아닙니다.

mapdata2 <- data.frame(ccode=c("ATG", "COM", "CPV", "DMA", "FJI", "FSM", 
    "GRD", "KIR", "KNA", "LCA", "MDV", "MHL", "MUS", "NRU","PLW", "SLB", 
    "STP", "SYC", "TON", "TUV", "VCT", "VUT", "WSM"), 
    biodiv=countryExData$BIODIVERSITY[1:23], size=1) 

마지막 섬 크기는 모든 섬 점이 같은 크기가되도록 필요합니다. 이제 mapBubbles 명령을 사용하여 선택한 아일랜드 국가의 도트를 원본 그림에 다음과 같이 추가 할 수 있습니다.

sPDF2 <- joinCountryData2Map(mapdata2, joinCode = "ISO3", nameJoinColumn = "ccode") 
mapBubbles(sPDF2,nameZSize='size', nameZColour='biodiv',add = T, 
    addColourLegend = F, addLegend = F, pch=21, symbolSize=.22,catMethod="fixedWidth") 

아래지도가 생성되었습니다. 아마 더 좋은 방법이나 더 빠른 방법이 있지만 결과에 꽤 만족합니다. 물론 등 색상, 심볼의 크기는, 지금 ...

enter image description here

관련 문제