2011-03-05 32 views
5

में दो पंक्तियों को कैसे प्लॉट करें, यह हैडली के उदाहरणों में उनके ggplot2 पुस्तक में कुछ उदाहरणों के समान उदाहरण है, लेकिन मैं यह काम नहीं कर सकता। को देखते हुए:ggplot2

off = c(0, 2000, 4000, 6000, 25, 3000, 6050, 9000) 
tim = c(0, -100, -200, -300 -25, -125, -225, -325) 
col = c(1, 1, 1, 1, 2, 2, 2, 2) 
dataf = data.frame(off, tim, col) 
p = ggplot(dataf, aes(off, tim, color=col)) + geom_point() + geom_line() 
p 

मुझे लगता है कि यह इन आठ बिन्दु और col साथ पिछले चार बिंदुओं के माध्यम से col = 1 और एक अन्य लाइन के साथ पहले चार अंक के माध्यम से एक रेखा खींचना चाहिए = 2. फिर भी क्या मैं के साथ खत्म लाल और नीले खंडों के साथ एक पंक्ति है।

क्यों ?!

उत्तर

6

क्योंकि col संख्यात्मक है। ग्रुपिंग कारक चर के संपर्क में सेट है, लेकिन चूंकि कोई भी समूह एक समूह के रूप में प्लॉट नहीं किया गया है। आप या तो एक कारक के col बदल सकते हैं,

ggplot(datf, aes(off, tim, color=factor(col))) + geom_point() + geom_line() 

या मैन्युअल रूप से सेट समूहीकरण

ggplot(datf, aes(off, tim, color=col, group=col)) + geom_point() + geom_line() 
+0

धन्यवाद Ista, इस काम कर देता है और कुछ चीजें मैं हैडली की किताब से उठा नहीं किया बताते हैं। – Plsvn