2012-02-23 14 views
9

के साथ ggplot लंबवत रेखा मुझे एक्स-अक्ष एक डेटाटाइम (POSIXct) ऑब्जेक्ट होने पर एक साजिश में लंबवत रेखा जोड़ने में कुछ परेशानी हो रही है। ऐसा लगता है कि यह हमेशा युग में लाइन रखना चाहता है। यहाँ एक उदाहरण है:दिनांक अक्ष

df <- data.frame(x=ymd('2011-01-01')+hours(0:24), y=runif(25)) 
ggplot(df, aes(x=x,y=y)) + geom_point() 

without vertical line

अब मैं तीसरी अवलोकन समय में एक लाइन को जोड़ने का प्रयास:

ggplot(df, aes(x=x,y=y)) + geom_point() + geom_vline(aes(x=df$x[3])) 

with vertical line

कुछ मैं गलत कर रहा हूँ? अपने geom_vlineaes में

geom_vline(xintercept = df$x[3]) 

उत्तर

3

इस बजाय करके देखें।

+0

धन्यवाद। ऐसा लगता है कि ggplot दस्तावेज़ों में सौंदर्यशास्त्र की सूची से 'xintercept' गुम है, और वहां शब्दकोष' x' के बारे में बात करता है। =/ –

+0

हाँ, जिसने मुझे भी फेंक दिया। Http://had.co.nz/ggplot2/geom_vline.html पर दस्तावेज़ 'एईएस (एक्स = जो भी)' का उपयोग करने के लिए कहते हैं, लेकिन नीचे दिए गए सभी उदाहरण 'xintercept' – Andrew

+1

का उपयोग करते हैं, वास्तव में @ केनविल्लियम्स उदाहरण का उपयोग करते हुए मुझे मिलता है> ggplot (डीएफ, एईएस (एक्स = एक्स, वाई = वाई)) + geom_point() + geom_vline (xintercept = df $ x [3]) त्रुटि: अमान्य अवरोध प्रकार: एक संख्यात्मक वेक्टर, एक फ़ंक्शन, या एक नाम होना चाहिए समारोह। कोई विचार? –

1
ggplot(df, aes(x=x,y=y)) + geom_point() + geom_vline(aes(xintercept=df$x[3])) 

आप xintercept बजाय x हैं:

+0

भी दूसरा और तीसरा [google serarch] (https://www.google.com/search?sourceid=chrome&client=ubuntu&channel=cs&ie=UTF-8&q=geom_vline+and+date&safe=on) परिणाम आपके प्रश्न का उत्तर देने लगते हैं। .. – Justin

+0

मदद के लिए धन्यवाद। मैंने इस प्रश्न को सबमिट करने से पहले उन पृष्ठों को देखा था, लेकिन सौंदर्य नाम के परिवर्तन को ध्यान में नहीं देखा। दस्तावेज़ों से 'xintercept' सौंदर्य गायब है, मैं देखता हूं कि मैं एक दस्तावेज़ पैच सबमिट कर सकता हूं या नहीं। –

+0

लेकिन मैं यह नहीं समझ सकता कि दस्तावेज़ों में सौंदर्य सूची क्या उत्पन्न करती है, यह https://github.com/hadley/ggplot2/blob/master/R/geom-vline.r में कुछ भी प्रतीत नहीं होता है। –

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