2013-12-08 7 views
37

मैं दोनों कार्यों के लिए ggplot2 दस्तावेज पढ़ रहा हूं। मैं सोच रहा था कि मतभेद क्या थे और प्रत्येक फ़ंक्शन (facet_wrap() और facet_grid()) का उपयोग करने के लिए सही स्थिति क्या होगी।ggplot2 में facet_wrap() और facet_grid() के बीच क्या अंतर है?

library(ggplot2) 

p <- qplot(displ, hwy, data = mpg) 
p + facet_wrap(~ cyl) 

p + facet_grid(~ cyl) 

मैं शुरुआती बिंदु के रूप में सेवा करने के लिए यह छोटा उदाहरण प्रदान करता हूं। अंतर लपेटता प्रतीत होता है कि भूखंडों को अधिक स्वायत्त बनाता है और ग्रिड एक साथ एक साजिश बनाता है।

+5

यदि आप अनजान हैं तो हैली के यहां दस्तावेज़ का इलेक्ट्रॉनिक संस्करण है: http://docs.ggplot2.org/current/। यह देखने में मददगार हो सकता है कि दोनों कार्यों के बीच क्या अंतर है। –

उत्तर

24

नीचे दिया गया उत्तर उस मामले को संदर्भित करता है जब आपके पास facet_grid() या facet_wrap() में 2 तर्क हैं।

facet_grid(x ~ y) कुछ भूखंड खाली होने पर भी x*y भूखंड प्रदर्शित होंगे। पूर्व:

library(ggplot2) 
g <- ggplot(mpg, aes(displ, hwy)) 

4 अलग cyl और 7 अलग वर्ग मान नहीं होता।

g + geom_point(alpha=1/3) + facet_grid(cyl~class) 

4 विशिष्ट सिल और 7 विशिष्ट वर्ग मान हैं। उपर्युक्त 4 * 7 = 28 भूखंडों को दिखाता है, भले ही कुछ खाली हों (क्योंकि कुछ वर्गों में संबंधित सिलेंडर मान नहीं होते हैं, जैसे कि वर्ग = "मिडिसेज" के साथ पंक्तियों में कोई संबंधित सिल = "5" मान नहीं है) facet_wrap(x ~ y) दूसरी ओर, केवल वास्तविक मूल्य वाले भूखंड प्रदर्शित करता है।

g + geom_point(alpha=1/3) + facet_wrap(cyl~class) 

अब 1 9 प्लॉट प्रदर्शित किए गए हैं, एक सिल और कक्षा के प्रत्येक संयोजन के लिए।

20

facet_wrap(...) एक ही चर में आधारित विभिन्न फ्रेम (पहलुओं) में ggplots स्ट्रिंग्स एक साथ तार। facet_grid(...) दो चर ले जा सकते हैं:

p + facet_grid(cyl~class) 

आप प्रत्येक पहलू में समूह के लिए एक तिहाई चर का उपयोग कर सकते हैं:

qplot(displ, hwy, data=mpg,color=factor(year)) + facet_grid(cyl~class) 

#cylinders द्वारा HWY लाभ में सुधार (या उसके अभाव) बनाम विस्थापन से पता चलता और कक्षा।

+4

'facet_wrap' दो चर भी ले सकता है। – marbel

4

एकल परिवर्तनीय भूखंडों के लिए आप या तो facet_grid() या facet_wrap() का उपयोग कर सकते हैं।

facet_wrap(~variable)variable के स्तरों की संख्या के लिए भूखंडों का एक सममित मैट्रिक्स लौटाएगा।

facet_grid(.~variable) क्षैतिज रूप से वितरित variable के स्तर के बराबर पहलू वापस करेगा।

facet_grid(variable.~)variable के स्तर के बराबर पहलू लंबवत वितरित करेगा।

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