GGPLOT

2013-01-31 22 views
13

में एक से अधिक घनत्व साजिश बनाने के लिए 'पहलू' का उपयोग कैसे करें मैं मक्खी पर बनाया निम्नलिखित डेटा:GGPLOT

> df <- data.frame(cbind(rnorm(200),rnorm(200, mean=.8),rnorm(200, mean=.9),rnorm(200, mean=1),rnorm(200, mean=.2),rnorm(200, mean=.3)),rnorm(200, mean=4),rnorm(200, mean=.5)) 
> colnames(df) <- c("w.cancer","w.normal","x.cancer","x.normal","y.cancer","y.normal","z.cancer","z.normal") 
> df_log<-log2(df) # ignore the warning with NA 
> head(df_log) 

मुझे क्या करना चाहते हैं तो नीचे दिए गए स्केच की तरह एक पैनल में एक से अधिक भूखंडों बनाने के लिए है 'पहलू' का उपयोग कर। मैं इसके बारे में कैसे जा सकता हूं?

enter image description here

+0

हां। उपरोक्त चित्र केवल एक स्केच है और यह निश्चित रूप से वास्तविक डेटा को प्रतिबिंबित नहीं करेगा। – neversaint

+2

+1 सुंदर स्केच। – zx8754

+7

@neversaint क्या आप हाथ से इन स्केच बनाते हैं, या किसी प्रकार के सॉफ़्टवेयर टूल का उपयोग करते हैं? –

उत्तर

19

आप पहली बार अपना डेटा तैयार करना होगा। मैंने इसे आपके data.frame df पर सचित्र किया है क्योंकि यह उचित सामान्य वितरण है।

require(ggplot2) 
require(reshape2) 
df$id <- 1:nrow(df) 

df.m <- melt(df, "id") 
df.m$grp1 <- factor(gsub("\\..*$", "", df.m$variable)) 
df.m$grp2 <- factor(gsub(".*\\.", "", df.m$variable)) 

p <- ggplot(data = df.m, aes(x=value)) + geom_density(aes(fill=grp2), alpha = 0.4) 
p <- p + facet_wrap(~ grp1) 
p + scale_fill_brewer(palette = "Set1") 

ggplot2_facet_example

df_log साथ df की जगह एक ही करने से आप कुछ इस तरह मिल चाहते हैं:

require(ggplot2) 
require(reshape2) 
df_log$id <- 1:nrow(df_log) 

df.m <- melt(df_log, "id") 
df.m$grp1 <- factor(gsub("\\..*$", "", df.m$variable)) 
df.m$grp2 <- factor(gsub(".*\\.", "", df.m$variable)) 

p <- ggplot(data = df.m, aes(x=value)) + geom_density(aes(fill=grp2), alpha = 0.5) 
p <- p + facet_wrap(~ grp1) 
p 

ggplog2_facet_log

+2

आप वास्तव में जीवन बचतकर्ता हैं! – neversaint