2013-03-13 6 views
12

मैं एक निश्चित ग्राफ पर कई तिथियों पर लंबवत रेखाएं जोड़ना चाहता हूं। अब तक मैंने इस सरल कार्य को हासिल करने में कामयाब नहीं रहा है।क्वांटमोड में लंबवत रेखाएं जोड़ें :: chart_Series

> s <- get(getSymbols('nvmi'))["2012::"] 
> d1 <- index(s[100]) 
> d1 
[1] "2012-05-24" 

> chart_Series(s,TA="addLines(v=d1)") 
Error in get.current.chob() : improperly set or missing graphics device 

> chart_Series(s) 
> abline(v=d1) 
# nothing 

> add_TA("addLines(v=d1") 
Error in `[.data.frame`(lenv$xdata, Env$xsubset) : 
    undefined columns selected 

क्या मैं पहले से ही यहाँ पढ़ा है से, मुझे पता है कि abline नई chart_Series समारोह के साथ काम करने वाले नहीं है: यह है कि मैं क्या करने की कोशिश की है। यह वैसे भी काम नहीं कर रहा है। addLines फ़ंक्शन किसी भी रूप में मैंने कोशिश नहीं की - सादा addLines, plot(addLines(...)), chart_Series(..., TA="addLines(...)") या add_TA("addLines(...)")

मुझे क्वांटमोड के प्रयोगात्मक संस्करण का उपयोग करने की आवश्यकता है क्योंकि यह पुराने संस्करण के साथ अन्य समस्याओं को हल करता है। d1 अंततः तिथियों की एक सूची होगी।

उत्तर

13

आप क्वांटमोड के चार्टिंग कार्यों के पुराने और नए संस्करणों से फ़ंक्शंस को मिश्रित नहीं कर सकते हैं। यदि आप addLines का उपयोग करना चाहते हैं, तो आपको chartSeries का उपयोग करना होगा। भले ही आप addLines और chartSeries का उपयोग करें, d1 एक xts ऑब्जेक्ट होना चाहिए, डेटाटाइम ऑब्जेक्ट नहीं। उदाहरण के लिए:

library(quantmod) 
data(sample_matrix) 
s <- as.xts(sample_matrix) 
chartSeries(s,TA="addLines(v=s[100])") 

quantmod::chartSeries

आप chart_Series का उपयोग कर एक खड़ी रेखा जोड़ना चाहते हैं, तो एक तार्किक XTS TRUE मूल्यों जहां लाइनों प्रकट करना चाहते हैं और FALSE अन्यथा के साथ वस्तु पैदा करते हैं। उदाहरण के लिए:

l <- xts(!as.logical(s[,1]),index(s)) 
l[100] <- TRUE 
chart_Series(s,TA="add_TA(l,on=1)") 

quantmod::chart_Series

भी ध्यान रखें कि आप add_TA कॉल में on=-1 का उपयोग करके खड़ी रेखा "के पीछे" चार्ट रख सकते हैं:

chart_Series(s,TA="add_TA(l,on=-1,col='grey',border='grey')") 
+0

लेकिन तुम यहाँ एक खड़ी रेखा जोड़ने क्षैतिज नहीं, है ना? – agstudy

+0

@agstudy: हाँ, मुझे लगता है कि यह ओपी के शीर्षक में एक टाइपो था। मुझे नहीं पता कि कोई विशिष्ट तिथियों पर क्षैतिज रेखा कैसे जोड़ सकता है, क्योंकि तिथियां x-axis पर हैं। –

+0

ठीक है। धन्यवाद + 1। मैं तर्क देखता हूं, हम केवल समय श्रृंखला (xts ऑब्जेक्ट्स) का मानते हैं अन्यथा इसका अर्थ "समझ" नहीं होगा। – agstudy

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