मैं आर maps
पैकेज, की तरह कुछ का उपयोग कर दुनिया के नक्शे पर कुछ स्थानों की प्लॉटिंग कर रहा हूँ:फिक्सिंग नक्शे प्रशांत के लिए पुस्तकालय डेटा केंद्रित (0 ° -360 ° देशांतर) प्रदर्शन
आधार मानचित्र को आकर्षित करने के लिए आदेश है:
map("world", fill=TRUE, col="white", bg="gray", ylim=c(-60, 90), mar=c(0,0,0,0))
लेकिन मुझे प्रशांत केंद्रित मानचित्र प्रदर्शित करने की आवश्यकता है। मैं map("world2",
आदि का उपयोग के साथ प्रशांत नक्शे पैकेज से आधार मानचित्र केंद्रित उपयोग करने के लिए, और मेरे dataframe (df
) में डेटा बिंदुओं के निर्देशांक परिवर्तित:
df$longitude[df$longitude < 0] = df$longitude[df$longitude < 0] + 360
यह काम करता है अगर मैं fill
विकल्प का उपयोग नहीं करते हैं, लेकिन fill
के साथ बहुभुज जो 0 डिग्री कारणों को पार करते हैं।
मुझे लगता है मैं किसी भी तरह इस सुलझाने के लिए maps
पुस्तकालय से बहुभुज डेटा को बदलने की जरूरत है लगता है, लेकिन मैं पता नहीं कैसे इस पर प्राप्त करने के लिए किया है।
मेरा आदर्श समाधान -20 डिग्री पर बाएं सीमा के साथ नक्शे खींचना होगा और -30 डिग्री (यानी 330 डिग्री) पर दाएं सीमा को बनाना होगा। निम्नलिखित नक्शे पर सही अंक और तटरेखा हो जाता है, लेकिन पार शून्य समस्या एक ही
df$longitude[df$longitude < -20] = df$longitude[d$longitude < -20] + 360
map("world", fill=TRUE, col="white", bg="gray", mar=c(0,0,0,0),
ylim=c(-60, 90), xlim=c(-20, 330))
map("world2", add=TRUE, col="white", bg="gray", fill=TRUE, xlim=c(180, 330))
किसी भी मदद की बहुत सराहना की जाएगी है।
इसकी वजह से सीमाओं क्योंकि जहां कटौती है के बंद आकार फार्म नहीं है। – James
यहां एक वर्कअराउंड है: डीएफ $ रेखांश के लिए एक बड़ा, मनमाना संख्या जोड़ें, उदाहरण 360 के लिए कहें। यह तब तक काम करना चाहिए जब तक आपको पैमाने पर लंबी अवधि दिखाने की आवश्यकता न हो। पुनश्च। मैंने ggplot() ग्राफिक्स का सफलतापूर्वक उपयोग किया है। – Andrie
@ जेम्स, एक बंद बहुभुज अंत में दोहराए गए पहले बिंदु के साथ एक खुली बहुभुज है? क्या आप जानते हैं कि मैं इसे मानचित्र पैकेज में कैसे उपयोग कर सकता हूं? –