Cara membuat peta Denmark dengan ggmap

14

Saya telah menginstal dua paket berikut:

library(ggmap)
library(maps)

Saya telah menemukan kode online untuk membuat peta dunia (lihat di bawah). Bagaimana cara memperbesar plot di tingkat negara? Misalnya, Denmark .

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

Masukkan deskripsi gambar di sini

David
sumber

Jawaban:

18

Jika kita melihat ?bordersdan, untuk lebih dalam ?map, kita melihat bahwa kita dapat menggunakan regionsargumen:

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

masukkan deskripsi gambar di sini


sumber
1
Juga, paket yang sangat indah untuk peta adalah leaflet: iel <- leaflet() %>% setView(lat = 50.85045, lng = 4.34878, zoom=5) %>% addTiles(group="OSM")
@Julius Vainora: Terima kasih. Bisakah saya menambahkan layer ke plot ini? Misalnya jika saya menemukan kumpulan data dengan "batas negara"?
2
@ David, ya, lapisan dapat ditambahkan, misalnya + geom_point(data = data.frame(x = 12, y = 56), aes(x = x, y = y))menambahkan titik.
1
Saat menggunakan peta, Anda mungkin ingin menambahkan coord_cartesian(), sehingga skala sumbu x dan y cocok.
JAD
10

Dapatkan batas-batas Denmark dalam waktu lama dan gunakan coord_fixed:

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

Masukkan deskripsi gambar di sini

Anda bisa mendapatkan batasan dari mappaket:

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

Dan Anda mungkin ingin sedikit memperluas ini untuk jarak yang lebih baik dan lebih banyak konteks.

Spacedman
sumber
@ ketika saya menjalankan map("world","Denmark",plot=FALSE)$rangesaya mengerti NULL?
Aneh. Apakah map("world","Denmark")menghasilkan peta Denmark? Bagaimana dengan "Prancis" atau "Belgia"? Apakah menggunakan nama negara lokal ("Danmark")? Apakah map("world")menggambar peta? Apakah map("world",plot=FALSE)$namesmengembalikan vektor nama negara / kawasan? Jika itu tidak berhasil, maka itu sangat aneh dan Anda harus meminta Q baru atau melaporkan bug ...
Spacedman
@ Spacedan: Tidak ada yang berfungsi NULLatau salah. Tapi saya bisa membuat plot dalam jawaban ...
1
Mulai sesi R bersih baru, lakukan library(maps), lalu coba? Mungkin Anda punya sesuatu yang menutupi maps::mapfungsi. Mungkin purrr::map? Jangan gunakan library(tidyverse).
Spacedman
4
@ Spacedman: Saya pikir tidak apa-apa jika saya menggunakan maps :: map. Mungkin itu mengira fungsi peta dari paket purrr ...