R: एक ग्राफ को गतिशील रूप से अपडेट करें [बंद]


9

यह एक डेटा विज़ुअलाइज़ेशन प्रश्न है। मेरे पास एक डेटाबेस है जिसमें कुछ डेटा है जो लगातार संशोधित (ऑनलाइन अपडेट) है। R को ग्राफ को अपडेट करने का सबसे अच्छा तरीका क्या है, हर 5 या 10 सेकंड में बताएं। (फिर से साजिश किए बिना सब कुछ संभव है)?

फ्रेड

जवाबों:


7

मान लें कि आप अद्यतन आर करना चाहते हैं windows()या x11()ग्राफ, आप जैसे कार्यों के लिए उपयोग कर सकते points()हैं और lines()redraw के बिना एक ग्राफ पर नया अंक लाइनों को जोड़ने या विस्तार करने के लिए; अभी तक ध्यान दें कि यह कुल्हाड़ियों रेंज को उन बिंदुओं को समायोजित करने के लिए नहीं बदलेगा जो देखने से बाहर जा सकते हैं। सामान्य तौर पर, प्लॉटिंग को तात्कालिक बनाने के लिए आमतौर पर यह एक अच्छा विचार है - उदाहरण के लिए, कुछ कम मध्य प्रतिनिधित्व बनाने में अभिकलन प्रयास को बढ़ाकर, जिसे तेजी से प्लॉट किया जा सकता है, जैसे घनत्व मानचित्र के बजाय अंक की भारी संख्या या लाइन भूखंडों के रिज़ॉल्यूशन को कम करना ( हालांकि यह जटिल हो सकता है)।

व्यस्त प्रतीक्षा के बिना एक निश्चित समय के लिए आर सत्र आयोजित करने के लिए, उपयोग करें Sys.sleep()


(+1) मैं Sys.sleep()फंक्शन भूल गया । मुझे लगता है कि - और -axis रेंज को अग्रिम में सेट करना चाहिए, नहीं? xy
CHL

@chl, हाँ और अक्ष श्रेणी पहले से सेट होनी चाहिए। xy
13

1
@mpiktas या बस एक ही कॉल के साथ प्लॉट को इनिट करें plot(), संभवतः 0,0,type="n"अगर प्लॉट के लिए अभी तक कुछ भी नहीं है ... वास्तव में यह डिंग की तुलना में बहुत आसान है plot.new()और सभी सामान जैसे एक्सिस या लेबल को हाथ से जोड़ना।

वास्तव में यह सबसे सरल लगता है ... लेकिन बहुत बुरा है कि कुल्हाड़ियों को अपडेट नहीं किया जाता है। जैसा कि मैं एक टाइम सीरीज़ को ऑनलाइन अपडेट करना चाहता हूं, और मुझे पता है कि एक्स एक्सिस किस गति से चलती है, मुझे लगता है कि मैं हर एन अपडेट को सब कुछ दोहरा सकता हूं।
रॉकसाइंस

8

ऑफ़लाइन विज़ुअलाइज़ेशन के लिए, आप PNG फ़ाइलें जनरेट कर सकते हैं और उन्हें ImageMagick का उपयोग करके एनिमेटेड GIF में परिवर्तित कर सकते हैं । मैंने इसे प्रदर्शन के लिए उपयोग किया (यह सारा डेटा फिर से प्रकाशित करता है):

source(url("http://aliquote.org/pub/spin_plot.R"))
dd <- replicate(3, rnorm(100))
spin.plot(dd)

यह कई पीएनजी फाइलें उत्पन्न करता है, जिनके साथ उपसर्ग होता है fig। फिर, संयुक्त राष्ट्र के * x शेल पर,

convert -delay 20 -loop 0 fig*.png sequence.gif

यह एनीमेशन देता है (जो कि S-Plus , S. Selvin, 1998 का उपयोग करके आधुनिक एप्लाइड बायोस्टैटिकल मेथड्स से प्रेरित है ):

वैकल्पिक शब्द

एक और विकल्प जो बहुत अधिक आशाजनक दिखता है वह है एनीमेशन पैकेज पर भरोसा करना । एक चलती खिड़की ऑटो-रिग्रेशन के साथ एक उदाहरण है जो आपको शुरू करने देना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.