2012-05-15 16 views
5

में केवल कुछ चुनिंदा कुछ पहलुओं को साजिश ggplot2 में facet_grid का उपयोग करके साजिश करने का एक तरीका ढूंढ रहा था जो केवल कुछ चुनिंदा पहलुओं को प्रदर्शित करता है। कहते हैं कि मैं निम्नलिखित साजिश है:facet_grid

enter image description here

एक त्वरित तरीका करने के लिए, उदाहरण के लिए, बस भूखंड पहलुओं 1 और 3.

#data 
y<-1:12 
x<-c(1,2,3,1,2,3,1,2,3,1,2,3) 
z<-c("a","a","a","b","b","b","a","a","a","b","b","b") 
df<-as.data.frame(cbind(x,y,z)) 

#plot 

a <- ggplot(df, aes(x = z, y = y, 
    fill = z)) 
b <- a + geom_bar(stat = "identity", position = "dodge") 
c <- b + facet_grid(. ~ x, scale = "free_y") 
c 

जाहिर है मैं पता लगा कि कैसे बस काटना की तलाश में गया मेरा डेटा पहले लेकिन यह निश्चित रूप से ggplot2 में आवंटित करना संभव होगा, यहां तक ​​कि केवल एक नजदीक का स्वागत किया जाएगा।

+3

सुनिश्चित नहीं हैं कि "ggplot2 में आवंटित" द्वारा क्या मतलब है। जब आप इसे ggplot पर पास करते हैं तो अपने डेटा को सबसेट करने के लिए यह _is_ करते हैं। – joran

+0

हम्म .. मैं बस जटिल चीजों पर। आपका बहुत बहुत धन्यवाद। –

उत्तर

8

उपयोग subset अपने ggplot कॉल में।

plot_1 = ggplot(subset(df, x %in% c(1, 2)), aes(x=z, y=y, fill=z)) + 
     geom_bar(stat = "identity", position = "dodge") + 
     facet_grid(. ~ x, scale = "free_y") 

enter image description here

2

यह ठीक नहीं होगा,

a <- ggplot(subset(df, x != 2), aes(x = z, y = y, fill = z)) 
b <- a + geom_bar(stat = "identity", position = "dodge") 
c <- b + facet_grid(. ~ x, scale = "free_y") 
c 
संबंधित मुद्दे