2012-05-20 13 views
13

निम्न लिंक Aligning two plots with ggplot2 से एक क्यू लेते हुए, मैं एक सामान्य एक्स अक्ष के विरुद्ध पहचाने गए 2 "वाई" चर को प्लॉट करने में सक्षम था। मैं अब क्या करना चाहता हूं वह एक geom_point परत को केवल एक पहलू में जोड़ने में सक्षम होना है। यह परत डी 1 के समान संरचना के साथ एक अलग डेटासेट (डी 3) का उपयोग करती है। जब मैं परत जोड़ता हूं तो यह दोनों पहलुओं पर उपयोग किया जाता है। क्या अंक केवल ऊपरी पहलू को लेना संभव है।एक पहलू साजिश में एक पैनल के लिए एक भू-परत जोड़ें

library(ggplot2) 

x <- seq(1992, 2002, by = 2) 
d1 <- data.frame(x = x, y = rnorm(length(x))) 
xy <- expand.grid(x = x, y = x) 
d2 <- data.frame(x = xy$x, y = xy$y, z = jitter(xy$x + xy$y)) 
d3 <- data.frame(x = x, y = 3+rnorm(length(x))) 

d1$panel <- "a" 
d2$panel <- "b" 
d1$z <- d1$x 

d <- rbind(d1, d2) 

p <- ggplot(data = d, mapping = aes(x = x, y = y)) 
p <- p + facet_grid(panel ~ ., scale = "free") 
p <- p + layer(data = d1, geom = c("line"), stat = "identity") 
###*p <- p + layer(data = d3, geom = c("point"))* - This is the layer I intend to add only to the top panel 

p <- p + layer(data = d2, geom = "line", stat = "identity") 
p 
+1

+1, एक पुनरुत्पादित उदाहरण –

उत्तर

8

बस पैनल आप बात करने के लिए सेट के साथ जोड़ना चाहते हैं d3 को panel स्तंभ जोड़ें।

d3$panel = "a" 

p <- ggplot(data = d, mapping = aes(x = x, y = y)) 
p <- p + facet_grid(panel ~ ., scale = "free") 
p <- p + layer(data = d1, geom = c("line"), stat = "identity") 
p <- p + layer(data = d3, geom = c("point")) 
p <- p + layer(data = d2, geom = "line", stat = "identity") 
p 

जो सही उत्पादन पैदावार: आपके मामले में

enter image description here

तो स्तंभ facet_grid करने के लिए कॉल में उल्लेख किया है मौजूद नहीं है, ggplot2 यह सभी पहलुओं पर मुद्रित करने की आवश्यकता है मान लिया गया है। जब आप panel निर्दिष्ट करते हैं, तो ggplot2 इसे ध्यान में रखेगा।

+0

+1 के साथ अच्छी तरह से phrased सवाल धन्यवाद, पॉल। वह तो आसान था ! संबंधित प्रश्न में, जाली की तरह अलग-अलग पैनलों को अनुकूलित करने में सक्षम होने के लिए पैनल नंबर की अनुक्रमणिका प्राप्त करने का एक तरीका है (जाली से पैनल.subscripts() के समान)। –

+0

मुझे सच में यकीन नहीं है कि आपका क्या मतलब है। मेरा सुझाव है कि आप एक नया प्रश्न बनाएं जहां आप अधिक जानकारी प्रदान करते हैं, और कुछ उदाहरण कोड। –

+1

ggplot2 में कोई पैनल नंबर नहीं है क्योंकि यह इसके दर्शन के खिलाफ होगा; इसके बजाए, आप किसी दिए गए पैनल को इसके संबंधित फ़ेसटिंग चर (ओं) से संदर्भित करते हैं। – baptiste

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