2012-04-27 28 views
32

में समूह सौंदर्य एक पहले question and its answers.साजिश लाइनों और ggplot2

पहले कुछ खिलौना डेटा से यह सवाल पर इस प्रकार है:

df = read.table(text = 
"School  Year Value 
A   1998 5 
B   1999 10 
C   2000 15 
A   2000 7 
B   2001 15 
C   2002 20", sep = "", header = TRUE) 

मूल प्रश्न प्रत्येक स्कूल के लिए साल लाइनों साजिश करने के लिए कैसे पूछा। उत्तर कम या कम पी 1 और पी 2 के अनुरूप हैं। लेकिन पी 3 पर भी विचार करें।

library(ggplot2) 

(p1 <- ggplot(data = df, aes(x = Year, y = Value, colour = School)) +  
    geom_line() + geom_point()) 

(p2 <- ggplot(data = df, aes(x = factor(Year), y = Value, colour = School)) +  
    geom_line(aes(group = School)) + geom_point()) 

(p3 <- ggplot(data = df, aes(x = factor(Year), y = Value, colour = School)) +  
    geom_line() + geom_point()) 

दोनों पी 1 और पी 2 नौकरी करते हैं। पी 1 और पी 2 के बीच का अंतर यह है कि पी 1 Year को संख्यात्मक के रूप में मानता है जबकि पी 2 Year एक कारक के रूप में व्यवहार करता है। इसके अलावा, पी 2 में geom_line में group सौंदर्यशास्त्र शामिल है। लेकिन जब group सौंदर्य पी 3 में गिरा दिया जाता है, तो रेखाएं खींची नहीं जाती हैं।

सवाल यह है: एक्स-अक्ष वैरिएबल एक कारक है जब group सौंदर्य आवश्यक है, लेकिन एक्स-अक्ष परिवर्तक संख्यात्मक होने पर group सौंदर्य की आवश्यकता नहीं है?

enter image description here

उत्तर

40

Hadley himself के शब्दों में:

महत्वपूर्ण बात यह है मैन्युअल रूप से समूह निर्दिष्ट करने के लिए है [क्षैतिज अक्ष पर एक कारक के साथ एक लाइन ग्राफ के लिए ]। डिफ़ॉल्ट ggplot2 में सभी भौगोलिक चर के संयोजन का उपयोग करता है जो भूगर्भ समूह के लिए साजिश है - जो इस साजिश के लिए काम नहीं करता है क्योंकि आप प्रत्येक बिंदु के लिए एक व्यक्तिगत पंक्ति प्राप्त करते हैं। मैन्युअल रूप से समूह = 1 निर्दिष्ट करता है इंगित करता है कि आप सभी बिंदुओं को जोड़ने वाली एक पंक्ति चाहते हैं।

आप वास्तव में समूह बहुत अलग तरीके as demonstrated by koshke here

+0

तो जब 'x' संख्यात्मक है में अंक, पहलू से टिप्पणियों समूहीकरण के बारे में मान्यताओं बना नहीं कर रहे हैं (और क्योंकि स्पष्ट रूप से नहीं किया जा सकता कर सकते हैं' एक कारक में x')। मुझे लगता है कि संख्यात्मक 'x' के मामले में मुझे भ्रमित करने वाला क्या था कि' समूह = 1' निर्दिष्ट करके एकल पंक्ति प्राप्त करना अभी भी संभव है लेकिन 'समूह' विनिर्देश के साथ कई पंक्तियां। –

+0

हां, @ सैंडी मसप्रैट, आपके बाद के मामले में, संख्यात्मक 'x' एक प्राकृतिक आदेश प्रदान करता है लेकिन समूह के लिए कोई कारक नहीं है, इसलिए अन्य स्पष्ट चर खेल में आते हैं। मुझे अपने सिर को चारों ओर लपेटने में थोड़ी देर लग गई, अब यह तार्किक है। (स्वीकार करने के लिए धन्यवाद)। स्पष्टीकरण के लिए – gauden

+0

धन्यवाद –