2011-10-20 15 views
5

के लिए बाहरी ग्राफिकल डिवाइस मुझे वास्तव में पसंद है कि लिटलर आर का उपयोग करके स्क्रिप्टिंग के लिए वास्तव में बहुत अच्छा है। लेकिन मैं बाहरी ग्राफिक्स डिवाइस को ला gnuplot (उदाहरण के लिए ऑक्टवे का उपयोग करके) का उपयोग कैसे नहीं करता। मैं वांछित ग्राफ का उत्पादन करने में सक्षम हूं लेकिन मुझे Sys.sleep का उपयोग करना है और मैं ऐसा नहीं करना चाहता, क्योंकि मैं इसे अपने आप को एक इंटरैक्टिव तरीके से बंद करना चाहता हूं या डिवाइस को बंद किए बिना स्क्रिप्ट को बेहतर रखना चाहता हूं।लिटलर या प्रतिलेख

#!/usr/bin/env r -t 


suppressMessages(require(Cairo)) 

CairoX11() 
plot(rnorm(1000), pch = 19) 
Sys.sleep(50) 

# some code without closing the graphics window 

मेरा प्रश्न है:

अब तक यह मेरा कोड कैसा दिखता है आपको लगता है कि प्राप्त करने के लिए एक तरह से पता है?

किसी भी संकेत है, दस्तावेज़, लिंक या कोड

उत्तर

2

जॉन के सुझाव के अलावा, आप स्पष्ट हो सकता है और जीयूआई संकुल में से एक आह्वान एक नया 'फ्रेम' (या 'विंडो') है कि तब साजिश से पता चलता ऊपर लाने के लिए कर सकते हैं। यह तब तक स्क्रीन पर रहेगा जब तक कि उपयोगकर्ता (या बाहरी घटना) उस विंडो को समाप्त नहीं करता।

tcltk पैकेज tkrplot पैकेज के साथ उपयोग किया जा सकता है; यह सबसे पोर्टेबल है। RGtk2 अधिक आधुनिक है लेकिन विंडोज़ पर स्थापित/उपयोग करना कठिन है क्योंकि जीटीके 2 बिल्कुल मूल नहीं है। यहां और अधिक है - यहां आरयूआई के लिए और इंटरबेट्स पर अन्य स्थानों पर खोजें।

+0

सबसे पहले मैं आपको धन्यवाद (और जेफरी हॉर्नर) का धन्यवाद करना चाहता हूं, यह वास्तव में उपयोगी और उपयोग करने में आसान है प्रतिलेख से (मैं अब भी मेरे कुबंटू में कुछ सिस्टम व्यवस्थापक करता हूं !!)। आप बाहरी फ्रेम के बारे में सही कर रहे हैं, अब तक मैं tkrplot, नई आर क्यूटी इंटरफेस (qtbase और qtpaint) और यहां तक ​​कि gnuplot (TeachingDemos के माध्यम से) की कोशिश की है और यह भी मैं अंत में (Sys.sleep का उपयोग किए बिना मेरी आर ग्राफिक्स रखने के लिए मैं एक रास्ता मिल इसके बजाय लोकेटर का उपयोग करें और स्क्रिप्ट जारी रखने के लिए राइट क्लिक करें)। मैं समस्या के लिए एक और अधिक सुरुचिपूर्ण समाधान खोजने की कोशिश करूंगा। धन्यवाद – dickoa

+0

मदद की खुशी है। आप को शामिल हो सकता है सिर्फ tcltk और tkrplot एक संक्षिप्त थोड़ा डेमो है, तो मैं पैकेज है कि जोड़ने के लिए खुशी होगी (और निश्चित रूप से आप पूरा श्रेय आदि दें)। आपने यहां जो भी पूछा है वह एक प्रासंगिक समस्या है, और हमें नमूना समाधान के साथ जहाज करना चाहिए। –

+0

बहुत अच्छा विचार है, मैं तुम्हें reproductible कोड का एक टुकड़ा भेज सकते हैं या इसे यहाँ पोस्ट करने के लिए जब मैं इस काम खत्म करेंगे बहुत खुशी होगी। – dickoa

2

मैं ऐसा करने के लिए एक तरीका है पता नहीं है की सराहना की जाएगी, क्योंकि ये जानबूझकर हैं गैर आर चलाने का -interactive तरीके मैं बस चलाने अपनी par(ask=T) के साथ एक इंटरैक्टिव आर सत्र में लिपि। इस तरह यह उपयोगकर्ता के लिए आर दस्तावेज़ीकरण में जनसंख्या जैसे आंकड़ों के बीच रुक जाएगा।

+0

आपके सुझाव के लिए धन्यवाद .. लेकिन मेरे उद्देश्य के लिए मैं एक इंटरैक्टिव आर सत्र का उपयोग नहीं कर सकता ... – dickoa