2016-02-19 7 views
7

क्या आर में पत्रक या किसी अन्य इंटरैक्टिव मानचित्र लाइब्रेरी के लिए समय स्लाइडर को लागू करने का कोई तरीका है? मेरे पास एक समय श्रृंखला में व्यवस्थित डेटा है, और इसे "गति" मानचित्र में एकीकृत करना चाहते हैं जहां साजिश बिंदु समय के साथ गतिशील रूप से बदलते हैं।आर: समय स्लाइडर के साथ मानचित्र?

मैं प्रत्येक महीने के लिए संबंधित डेटा तालिका को कैप्चर करने के लिए सबसेट का उपयोग करके, मेरे डेटा को टुकड़ों में तोड़ने की सोच रहा था। लेकिन मैं विभिन्न महीनों के अनुरूप विभिन्न डेटा सेटों के बीच कैसे स्थानांतरित करूं?

जैसा कि यह अभी खड़ा है, मैंने औसत लिया और उन बिंदुओं को प्लॉट किया, लेकिन मैं एक नक्शा तैयार करता हूं जो समय श्रृंखला को एकीकृत करता है।

यहाँ अब तक मेरी कोड है:

data<-read.csv("Stericycle Waste Data.csv") 
library(reshape2) 
library(ggplot2) 
library(plyr) 
library(ggmap) 
names(data)<-c("ID1","ID2", "Site.Address", "Type", "City", "Province", "Category", "Density", "Nov-14", "Dec-14", "Jan-15", "Feb-15", "Mar-15", "Apr-15", "May-15", "Jun-15", "Jul-15", "Aug-15", "Sep-15", "Oct-15", "Nov-15", "Dec-15", "Jan-16") 
data<-melt(data, c("ID1","ID2", "Site.Address","Type", "City", "Province", "Category", "Density")) 
data<-na.omit(data) 
data_grouped<-ddply(data, c("Site.Address", "Type","City", "Province", "Category", "Density", "variable"), summarise, value=sum(value)) 
names(data_grouped)<-c("Site.Address", "Type", "City", "Province", "Category", "Density", "Month", 'Waste.Mass') 

dummy<-read.csv('locations-coordinates.csv') 
geodata<-merge(data_grouped, dummy, by.x="Site.Address", by.y="Site.Address", all.y=TRUE) 

library(leaflet) 
d = geodata_avg$density_factor 
d = factor(d) 
cols <- rainbow(length(levels(d)), alpha=NULL) 
geodata_avg$colors <- cols[unclass(d)] 
newmap <- leaflet(data=geodata_avg) %>% addTiles() %>% 
addCircleMarkers(lng = ~lon, lat = ~lat, weight = 1, radius = ~rank*1.1, color = ~colors, popup = paste("Site Address: ", geodata_avg$Site.Address, "<br>", "Category: ", geodata_avg$Category, "<br>", "Average Waste: ", geodata_avg$value)) 
newmap 

अग्रिम धन्यवाद! किसी भी मार्गदर्शन/अंतर्दृष्टि की सराहना की जाएगी।

+1

पर इंटरैक्टिव, एचटीएमएलविजेट आधारित ग्राफ प्रदान करना भी संभव है, जैसा कि आपने सुझाव दिया है कि आप महीने में अपने डेटासेट को विभाजित कर सकते हैं और इन सबसेट को अपने मानचित्र पर परतों के रूप में जोड़ सकते हैं (https://rstudio.github.io /leaflet/showhide.html); फिर आप जिस परत को दिखाना चाहते हैं उसे क्लिक/अनक्लिक कर सकते हैं – MLavoie

+0

एक उदाहरण है [यहां] (http://dwilhelm89.github.io/LeafletSlider/)। स्लाइडर मानचित्र के ऊपरी दाएं कोने पर है। (हालांकि यह एक आर कार्यान्वयन नहीं है ...) – jbaums

+0

धन्यवाद। मुझे वास्तव में विचार पसंद हैं! मैं परत सुझाव का उपयोग करने की कोशिश करने जा रहा हूँ। मैं समय स्लाइडर पसंद करूंगा, लेकिन मुझे लगता है कि यह एक जावा एप्लिकेशन है, जो दुख की बात है कि मेरे ज्ञान के क्षेत्र में नहीं है। –

उत्तर

-3

आर में पैकेज में "कुशलतापूर्वक" प्रयास करें। मुझे यकीन नहीं है कि यह पुस्तिका के लिए काम करेगा या नहीं? लेकिन यह सामान्य भूखंडों और ggplot के लिए काम करना चाहिए।

धन्यवाद, नवीन।

0

Here एक उत्तर है जो मदद की जा सकती है।

वैकल्पिक रूप से, आप mapview::popupGraph का उपयोग कर पॉपअप ग्राफ के रूप में एक बिंदु की समय श्रृंखला प्रदान कर सकते हैं। popupGraph

संबंधित मुद्दे