2010-08-06 19 views
11

के साथ तीर() का उपयोग करना मैं एक geom_path() बनाना चाहता हूं जिसमें पथ में अगले स्थान की ओर इशारा करते हुए तीर हैं।उदाहरण की आवश्यकता है: ggplot2

मैं उदाहरण के लिए पथ साजिश प्राप्त कर सकते हैं, इस मुद्दे के बिना,:

df <- (x=1:12, y=20:31, z=1:12) 
p <- ggplot(df, aes(x=x, y=y)) 
p + geom_point() + geom_path() 

अब मैं ऐसा करने में सक्षम होना चाहते हैं क्या साजिश है कि अगले करने के लिए रास्ते में एक तत्व से तीर इंगित है ।

अतिरिक्त अंक यदि आप मुझे बता सकते हैं कि अगली पथ में एक तत्व से रेखाओं को कैसे सुचारू बनाना है।

उत्तर

16

geom_segment में arrow तर्क है।

library(grid) # needed for arrow function 

p <- ggplot(df, aes(x=x, y=y)) + 
    geom_point() + 
    geom_segment(aes(xend=c(tail(x, n=-1), NA), yend=c(tail(y, n=-1), NA)), 
        arrow=arrow(length=unit(0.3,"cm"))) 

library(grid)arrow() समारोह के लिए आवश्यक है, here देखें: यहाँ एक छोटी उदाहरण है।

+0

geom_segment एक आकर्षण की तरह काम करता था, लेकिन मुझे आश्चर्य है कि आपने geom_path के प्राथमिक फ़ंक्शन के बारे में geom_segment के साथ क्यों जाना चुना है? –

+1

'geom_path' (या 'geom_line') प्रत्येक सेगमेंट में तीर नहीं लगाता है, अंतिम बिंदु की स्थिति में केवल एक तीर है। स्पष्टीकरण आरसीएस के लिए – rcs

+0

धन्यवाद। –

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