Ggmap ile Danimarka haritası nasıl oluşturulur


14

Aşağıdaki iki paketi yükledim:

library(ggmap)
library(maps)

Bir dünya haritası oluşturmak için çevrimiçi kod buldum (aşağıya bakın). Grafiği ülke düzeyinde nasıl yakınlaştırırım? Örneğin, Danimarka .

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

Resim açıklamasını buraya girin

Yanıtlar:


18

Eğer bakarsak ?bordersve daha fazlası ?mapiçin regionsargümanı kullanabileceğimizi görürüz :

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

resim açıklamasını buraya girin


1
Ayrıca, haritalar için çok güzel bir paket l <- leaflet() %>% setView(lat = 50.85045, lng = 4.34878, zoom=5) %>% addTiles(group="OSM")

@Julius Vainora: Teşekkürler. Bu grafiğe katman ekleyebilir miyim? Örneğin, "durum sınırları" içeren bir veri kümesi bulursam?

2
@David, evet, katmanlar eklenebilir, örneğin + geom_point(data = data.frame(x = 12, y = 56), aes(x = x, y = y))bir nokta ekler.

1
Haritaları kullanırken coord_cartesian(), x ve y eksenlerinin ölçeği eşleşecek şekilde eklemek isteyebilirsiniz .
JAD

10

Son zamanlarda Danimarka sınırlarını öğrenin ve kullanın coord_fixed:

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

Resim açıklamasını buraya girin

Sınırları mappaketten alabilirsiniz:

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

Ve daha güzel boşluklar ve daha fazla bağlam için bunları biraz genişletmek isteyebilirsiniz.


@ I çalıştırdığınızda map("world","Denmark",plot=FALSE)$rangealıyorum NULL?

Garip. map("world","Denmark")Danimarka haritası üretiyor mu ? "Fransa" ya da "Belçika" ne olacak? Yerel ülke adları kullanıyor mu ("Danmark")? map("world")Harita çiziyor mu ? Does map("world",plot=FALSE)$namesülke / bölge isimleri bir vektör döndürür? Bunlar işe yaramazsa, bu çok garip ve yeni bir Q sormalı veya bir hata bildirmelisiniz ...
Spacedman

@ Spacedan: Hiçbiri NULLya hata yapmaz . Ama cevaplarda parseller oluşturabilirim ...

1
Yeni bir temiz R oturumu başlatın, yapın library(maps), sonra deneyin? Belki de maps::mapişlevi maskeleyen bir şey var . Muhtemelen purrr::map? Kullanma library(tidyverse).
Spacedman

4
@ Spacedman: maps :: map kullanmamın iyi olacağını düşünüyorum. Belki de purrr paketinden harita fonksiyonunu düşündü ...
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.