आर

2012-04-24 11 views
14

में ggplot के साथ Google मानचित्र प्लॉटिंग मैं Google map प्लॉट करने की कोशिश कर रहा हूं जिसे RgoogleMaps पैकेज का उपयोग करके पूछताछ की गई है और इसे ggplot के साथ गठबंधन किया गया है। आखिरकार, मैं geom_point का उपयोग करके कुल जनसंख्या दिखाना चाहता हूं, कुछ हद तक नीचे दी गई तस्वीर के समान है, हालांकि मैं ओवर-प्लॉटिंग के कारण मोंटगोमेरी क्षेत्र पर ध्यान केंद्रित करने की कोशिश कर रहा हूं।आर

मैं निराश हूं क्योंकि मैं आर में अपने पूछे जाने वाले मानचित्र को प्लॉट नहीं कर सकता। मैंने read.jpeg और png जैसे कुछ पैकेजों की कोशिश की लेकिन यह काफी काम नहीं कर सका।

आर कोड:

#query google map 
al1 <- GetMap(center=c(32.362563,-86.304474), zoom=11, destfile = "al2.jpeg", 
     format="jpg",maptype="roadmap") 

#load only specific states 
alabama <- subset(all_states, region %in% c("alabama")) 

#population 
p1 <- ggplot() 
p1 <- p1 + geom_polygon(data=alabama, 
     aes(x=long, y=lat, group=group), colour="white", fill="grey10") 
p1 <- p1 + geom_point(data=quote, aes(x=IntPtLon, y=IntPtLat, size=TotPop, 
     color=TotPop),colour="coral1") + scale_size(name="Total Pop") 

enter image description here

संपादित करें:

यहाँ मेरी किसी न किसी परिणाम है। मैं अभी भी चाहता हूं:

  • बिंदुओं के आकार के पैमाने को बदलें क्योंकि वे मानचित्र पर छोटे लगते हैं।
  • बिंदुओं को पारदर्शी या भरे न बनाएं ताकि नक्शा अभी भी दिखाई दे।

enter image description here

al1 <- get_map(location = c(lon = -86.304474, lat = 32.362563), zoom = 11, maptype = 'terrain') 
al1MAP <- ggmap(al1)+ geom_point(data=quote_mgm, aes(x=IntPtLon, y=IntPtLat, size=TotPop)) 
+4

में उपलब्ध है आप ggmap और OpenStreetMap संकुल, जो दोनों के ggplot2 रेखापुंज साजिश रचने –

+3

यहाँ विकि से एक अच्छा उदाहरण है कि करने के लिए उपयोगी हो सकता है समर्थन की जाँच करना चाह सकते हैं जांचें: https://github.com/hadley/ggplot2/wiki/Crime-in-Downtown-Houston%2C-Texas-%3A-Combining-ggplot2-and-Google- मानचित्र –

+0

आह! मुझे बस यह वेबसाइट मिली और मेरा जवाब मिला। नकारात्मक बात यह है कि साजिश में कुछ समय लगता है इसलिए मैं जीजीएमएपी और ओएसएम की जांच करूंगा। धन्यवाद तुम सब! – Ken

उत्तर

24

यह है कि क्या आप के बाद कर रहे हैं। यह ggmap पैकेज का उपयोग करता है, जो प्रक्रिया को सरल बनाता है। आगे के विकल्पों के लिए ?get_map और ?ggmap देखें। एक उत्कृष्ट संसाधन The R Journal

library(ggmap) 
al1 = get_map(location = c(lon = -86.304474, lat = 32.362563), zoom = 11, maptype = 'roadmap') 
al1MAP = ggmap(al1) 
al1MAP 

enter image description here

+0

हां के लिए धन्यवाद, इसके अलावा, मैं इस मानचित्र के शीर्ष पर बिंदुओं को प्लॉट करना चाहता हूं (शायद geom_point का उपयोग कर) लेकिन साथ ही मैं इसे दृष्टि से आकर्षक बनाना चाहता हूं। मैं नहीं चाहता कि मेरे बिंदु मौजूदा मानचित्र जानकारी को छुपाएं/कवर करें। कोई उपाय? – Ken

+0

बिल्लियों अर्द्ध पारदर्शी बनाते हैं? –

+0

आप नियमित ggplot2 geoms का उपयोग कर al1Map में अतिरिक्त परत जोड़ सकते हैं। तो अंक जोड़ने के लिए, फिर कुछ 'al1MAP + geom_point (डेटा = डेटा, एईएस (x = x, y = y))' कुछ करेगा। मौजूदा मानचित्र जानकारी को कवर नहीं करना चाहते हैं - मैं आपकी मदद नहीं कर सकता। शायद आप कम विवरण वाले कुछ खोजने के लिए अलग-अलग नक्शा शैलियों का प्रयास कर सकते हैं। –