ggmap으로 덴마크의지도를 만드는 방법


14

다음 두 패키지를 설치했습니다.

library(ggmap)
library(maps)

월드 맵을 만들기위한 코드를 온라인에서 찾았습니다 (아래 참조). 국가 수준에서 음모를 확대 / 축소하려면 어떻게합니까? 예를 들어 덴마크 입니다.

ggplot()+
  borders("world", colour="gray50", fill="gray50")

여기에 이미지 설명을 입력하십시오

답변:


18

?borders보다 자세히 살펴보면 다음 과 ?map같은 regions인수를 사용할 수 있습니다 .

ggplot() + borders(regions = "Denmark", colour = "gray50", fill = "gray50") 

여기에 이미지 설명을 입력하십시오


1
또한 매우 아름다운지도 패키지는 전단지입니다. 즉l <- leaflet() %>% setView(lat = 50.85045, lng = 4.34878, zoom=5) %>% addTiles(group="OSM")

@Julius Vainora : 감사합니다. 이 플롯에 레이어를 추가 할 수 있습니까? 예를 들어 "상태 경계"가있는 데이터 세트를 찾으면?

2
@David, 예. 레이어를 추가 할 수 있습니다 (예 + geom_point(data = data.frame(x = 12, y = 56), aes(x = x, y = y)): 포인트 추가).

1
지도를 사용할 때 coord_cartesian()x 및 y 축의 배율이 일치하도록 을 추가 할 수 있습니다 .
JAD

10

lat-long으로 덴마크의 경계를 얻고 다음을 사용하십시오 coord_fixed.

ggplot() + borders("world", colour="gray50", fill="gray50") + coord_fixed(xlim=c(7, 12), ylim=c(52, 58))

여기에 이미지 설명을 입력하십시오

map패키지 에서 범위를 얻을 수 있습니다 .

> map("world", "Denmark", plot=FALSE)$range
[1]  8.121484 15.137110 54.628857 57.736916

그리고 더 나은 간격과 더 많은 컨텍스트를 위해 이것을 조금 확장하고 싶을 수도 있습니다.


@ 내가 실행할 때 map("world","Denmark",plot=FALSE)$range내가 얻을 NULL?

이상한. map("world","Denmark")덴마크의지도를 생성 합니까 ? "프랑스"또는 "벨기에"는 어떻습니까? 현지 국가 이름 ( "Danmark")을 사용하고 있습니까? 않는 map("world")지도를 그려? map("world",plot=FALSE)$names국가 / 지역 이름으로 구성된 벡터를 반환 합니까 ? 그래도 문제가 해결되지 않으면 매우 이상하며 새로운 Q를 요청하거나 버그를보고해야합니다.
Spacedman

@ Spacedan : 그들 중 어느 것도 작동하지 NULL않거나 오류가 없습니다. 그러나 나는 답변에 줄거리를 만들 수 있습니다 ...

1
새로운 클린 R 세션 library(maps)을 시작한 다음 시도해보십시오. 아마도 당신은 그 maps::map기능을 가리는 무언가를 가지고있을 것 입니다. 아마 purrr::map? 를 사용하지 마십시오 library(tidyverse).
Spacedman

4
@ Spacedman : maps :: map을 사용하면 괜찮습니다. 아마도 그것은 purrr 패키지의 맵 기능을 생각했을 것입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.