2013-02-26 138 views
10

में superimposed ellipses भरें यह प्रश्न "How can a data ellipse be superimposed on a ggplot2 scatterplot?" का अनुवर्ती है।ggplot2 scatterplots

मैं ggplot2 का उपयोग करके अतिरक्षित आत्मविश्वास इलिप्स के साथ 2 डी स्कैटरप्लॉट बनाना चाहता हूं। उपर्युक्त पोस्ट से एटियेन लो-डेकेरी के समाधान का उपयोग करके, मुझे काम करने के लिए अतिरंजित इलिप्स मिलते हैं। समाधान से stat_ellipse उपलब्ध पर आधारित है https://github.com/JoFrhwld/FAAV/blob/master/r/stat-ellipse.R

प्रश्न: मैं दीर्घवृत्त (रों) एक खास रंग के साथ के भीतरी क्षेत्र कैसे भर सकते हैं (खासतौर पर मैं कुछ अल्फा के साथ अंडाकार बॉर्डर का रंग उपयोग करना चाहते हैं)?

यहाँ कम से कम काम कर रहे उदाहरण जैसा कि ऊपर उल्लेख पद से संशोधित किया गया है:

# create data 
set.seed(20130226) 
n <- 200 
x1 <- rnorm(n, mean = 2) 
y1 <- 1.5 + 0.4 * x1 + rnorm(n) 
x2 <- rnorm(n, mean = -1) 
y2 <- 3.5 - 1.2 * x2 + rnorm(n) 
class <- rep(c("A", "B"), each = n) 
df <- data.frame(x = c(x1, x2), y = c(y1, y2), colour = class) 

# get code for "stat_ellipse" 
library(devtools) 
library(ggplot2) 
source_url("https://raw.github.com/JoFrhwld/FAAV/master/r/stat-ellipse.R") 

# scatterplot with confidence ellipses (but inner ellipse areas are not filled) 
qplot(data = df, x = x, y = y, colour = class) + stat_ellipse() 

काम कर उदाहरण के आउटपुट: image of example output

+0

क्या आपने 'stat_ellipse (अल्फा = 0.4)' कोशिश की है, उदाहरण के लिए ...? – Arun

+0

बस चेक किया गया - यह अंडाकार सीमा के अल्फा को बदलता है, लेकिन आंतरिक क्षेत्र अभी भी भरा नहीं है। – QkuCeHBH

+2

'geom'' stat_ellipse' कार्यान्वयन में डिफ़ॉल्ट रूप से 'पथ' प्रतीत होता है। मुझे आश्चर्य है कि 'पथ' में 'fill' विकल्प हो सकते हैं ... – Arun

उत्तर

12

टिप्पणी में उल्लेख किया है, polygon यहाँ की जरूरत है:

qplot(data = df, x = x, y = y, colour = class) + 
    stat_ellipse(geom = "polygon", alpha = 1/2, aes(fill = class)) 

enter image description here

+0

बिल्कुल वांछित काम करता है, धन्यवाद! – QkuCeHBH