Cách tạo bản đồ Đan Mạch bằng ggmap


13

Tôi đã cài đặt hai gói sau:

library(ggmap)
library(maps)

Tôi đã tìm thấy mã trực tuyến để tạo một bản đồ thế giới (xem bên dưới). Làm cách nào để phóng to cốt truyện ở cấp quốc gia? Ví dụ, Đan Mạch .

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

Nhập mô tả hình ảnh ở đây

Câu trả lời:


17

Nếu chúng ta nhìn vào ?bordersvà, để biết thêm ?map, chúng ta thấy rằng chúng ta có thể sử dụng regionsđối số:

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

nhập mô tả hình ảnh ở đây


1
Ngoài ra, một gói rất đẹp cho bản đồ là tờ rơi: tức làl <- leaflet() %>% setView(lat = 50.85045, lng = 4.34878, zoom=5) %>% addTiles(group="OSM")

@Julius Vainora: Cảm ơn. Tôi có thể thêm các lớp vào cốt truyện này không? Ví dụ: nếu tôi tìm thấy một tập dữ liệu với "trạng thái giới hạn"?

2
@David, vâng, các lớp có thể được thêm vào, ví dụ như + geom_point(data = data.frame(x = 12, y = 56), aes(x = x, y = y))thêm một điểm.

1
Khi sử dụng bản đồ, bạn có thể muốn thêm coord_cartesian(), sao cho tỷ lệ của trục x và trục y khớp với nhau.
JAD

9

Nhận giới hạn của Đan Mạch trong thời gian dài và sử dụng coord_fixed:

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

Nhập mô tả hình ảnh ở đây

Bạn có thể nhận được giới hạn từ mapgói:

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

Và bạn có thể muốn mở rộng những thứ này một chút để có khoảng cách đẹp hơn và nhiều bối cảnh hơn.


@ khi tôi chạy map("world","Denmark",plot=FALSE)$rangetôi nhận được NULL?

Lạ Có map("world","Denmark")sản xuất một bản đồ của Đan Mạch? Thế còn "Pháp" hay "Bỉ"? Có phải nó sử dụng tên quốc gia địa phương ("Danmark")? Có map("world")vẽ bản đồ không? Có map("world",plot=FALSE)$namestrả lại một vectơ tên quốc gia / khu vực? Nếu những thứ đó không hoạt động, thì điều đó thật kỳ quặc và bạn nên hỏi Q mới hoặc báo cáo lỗi ...
Spainedman

@ Spacesan: Không ai trong số họ làm việc NULLhoặc lỗi. Nhưng tôi có thể tạo ra các âm mưu trong câu trả lời ...

1
Bắt đầu một phiên R sạch mới, làm gì library(maps), sau đó thử? Có lẽ bạn đã có một cái gì đó che giấu maps::mapchức năng. Có lẽ purrr::map? Đừng sử dụng library(tidyverse).
Spainedman

4
@ Spacesman: Tôi nghĩ sẽ ổn nếu tôi sử dụng maps :: map. Có lẽ nó nghĩ chức năng bản đồ từ gói purrr ...
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.