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")

@ जूलियस वनोरा: धन्यवाद। क्या मैं इस प्लॉट में परतें जोड़ सकता हूं? उदाहरण के लिए यदि मुझे "राज्य सीमाओं" के साथ एक डेटा सेट मिलता है?

2
@ डेविड, हां, लेयर्स को जोड़ा जा सकता है, उदाहरण के + geom_point(data = data.frame(x = 12, y = 56), aes(x = x, y = y))लिए एक बिंदु जोड़ता है।

1
मानचित्रों का उपयोग करते समय, आप जोड़ना चाह सकते हैं coord_cartesian(), ताकि x और y अक्षों का पैमाना मेल खाए।
JAD

10

लंबे समय तक डेनमार्क की सीमा प्राप्त करें और उपयोग करें 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देश / क्षेत्र के नामों का एक वेक्टर वापस करता है ? यदि वे काम नहीं करते हैं, तो यह बहुत ही अजीब है और आपको एक नया क्यू पूछना चाहिए या बग की रिपोर्ट करनी चाहिए ...
Spacedman

@ Spacedan: उनमें से कोई भी काम NULLया त्रुटि नहीं है। लेकिन मैं उत्तर में प्लॉट बना सकता हूं ...

1
एक नया स्वच्छ आर सत्र शुरू करें, करें library(maps), फिर प्रयास करें? हो सकता है कि आपको maps::mapफंक्शन को मास्क करने के लिए कुछ मिला हो । शायद purrr::map? उपयोग न करें library(tidyverse)
स्पेसमैन

4
@ Spacedman: मुझे लगता है कि यदि मैं मानचित्रों का उपयोग करता हूं तो यह ठीक है :: मानचित्र। शायद यह purrr पैकेज से नक्शा समारोह सोचा ...
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.