में ggplot2 के साथ डेटा को इंगित करने वाले तीर के रूप में ग्रिड के बाहर प्लॉट पॉइंट्स, मैं विश्व स्तर के डेटा के साथ मानचित्र उत्पन्न कर रहा हूं, और उसके बाद कुछ क्षेत्रों में ज़ूम कर रहा हूं। ज़ूम किए गए दृश्य पर, मैं यह दिखाना चाहता हूं कि बाउंडिंग बॉक्स के बाहर अन्य डेटा बिंदु हैं, जो बॉक्स के केंद्र से इंगित तीरहेड डालकर बाहरी डेटा में डेटा बिंदु है।आर
नोट: मुझे इसे "महान सर्कल" पथ होने की आवश्यकता नहीं है, केवल मर्केटर प्रोजेक्शन में एक्सवाई वैक्टर, क्योंकि मुझे लगता है कि यह "सामान्य" भूखंडों के लिए भी उपयोगी होगा।
और यहाँ देखने से ज़ूम इन, मैन्युअल रूप से दिखाने के लिए मैं तैयार करना चाहते हैं क्या जोड़ा मैजेंटा तीर के साथ:
एक उदाहरण के रूप में, यहाँ डेटा की हद तक दिखा दुनिया के नक्शे है ।
नीचे कोड और डेटा मैं इन दो बुनियादी भूखंडों उत्पन्न करने के लिए उपयोग कर रहा हूँ है। मुझे तीरहेड उत्पन्न करने का एक तरीका है।
require(ggplot2)
te = structure(list(lat = c(33.7399, 32.8571, 50.2214, 36.96263, 33.5835,
33.54557, 47.76147, 48, 59.40289, 35.93411, 32.87962, 38.3241,
50.03844, 37.44, 50.07774, 50.26668, 36.5944), lng = c(-118.37608,
-117.25746, -5.3865, -122.00809, -117.86159, -117.79805, -124.45055,
-126, -146.35157, -122.931472, -117.25285, -123.07331, -5.26339,
25.4, -5.709894, -3.86828, -121.96201)), .Names = c("lat", "lng"
), class = "data.frame", row.names = c(NA, -17L))
all_states = map_data("world")
# world version:
wp = ggplot() +
geom_polygon(data = all_states, aes(x = long, y = lat, group = group), colour = "gray",
fill = "gray") +
coord_cartesian(ylim = c(0, 80), xlim = c(-155, 45)) +
geom_point(data = te, aes(x = lng, y = lat), color = "blue", size = 5,alpha = 0.6)
print(wp)
#states plot
sp = ggplot() +
geom_polygon(data = all_states, aes(x = long, y = lat, group = group), colour = "gray", fill = "gray") +
coord_cartesian(ylim = c(30, 52), xlim = c(-128, -114)) +
geom_point(data = te, aes(x = lng, y = lat), color = "blue", size = 5, alpha = 0.6)
print(sp)
आप 'geom_segment' परत जोड़ सकते हैं, वे वैकल्पिक तीर सिर प्रदान करते हैं और पर्याप्त छोटी दूरी के साथ यह केवल एकमात्र चीज दिखाई देती है। – baptiste
[इस ब्लॉग पोस्ट] को देखें (http://editerna.free.fr/wp/?p=76), यह आपको कुछ विचार दे सकता है। – shekeine
टिप्पणियों के लिए धन्यवाद। यह उस तीर को उत्पन्न नहीं कर रहा है जिसके बारे में मुझे चिंता है, लेकिन यह पता लगाना कि उन्हें सही स्थान और अभिविन्यास में कैसे प्लॉट करना है। सबसे बुरी स्थिति परिदृश्य मुझे एक ऐसा फ़ंक्शन बनाना होगा जो बाउंडिंग बॉक्स के बाहर के बिंदुओं की जांच करता है, फिर उनके लिए वैक्टर की गणना करता है, x.y के लिए हल करता है, जहां वह रेखा बॉक्स के किनारे को छेड़छाड़ करती है, और फिर उन बिंदुओं पर घुमावदार त्रिकोणों को साजिश करती है। लेकिन मैं उम्मीद कर रहा था कि एक पुस्तकालय या सुविधा थी जो पहले से ही ऐसा कर सकती है ..! – beroe