ggplot2 में छायांकित क्षेत्रों के उपयोग के संबंध में fewposts हैं, लेकिन मुझे नहीं लगता कि कोई भी मेरे प्रश्न का उत्तर देता है। मेरे पास कई स्थितियों में लाइनों के लिए दो ढलान हैं, और मैं उनके बीच के क्षेत्र को छाया करना चाहता हूं।r - ggplot2 - दो geom_abline परतों के बीच एक छायांकित क्षेत्र बनाएं
dat <- data.frame(cond1=c("a","a","b","b"),
cond2=c("c","d","c","d"),
x=c(1,5),
y=c(1,5),
sl=c(1,1.2,0.9,1.1),
int=c(0,0.1,0.1,0),
slopeU=c(1.1,1.3,1.2,1.2),
slopeL=c(.9,1,0.7,1))
यहाँ, sl
एक अलग फिटिंग प्रक्रिया से मतलब ढलान पैरामीटर है, और slopeU
और slopeL
प्रत्येक हालत में ढलान अनुमान पर ऊपरी और निचले आत्मविश्वास क्षेत्रों का प्रतिनिधित्व करते हैं: यहाँ उदाहरण डेटा है। हस्तक्षेप एक जैसा होने के लिए बाध्य हैं।
p <- ggplot(dat,aes(x=x,y=y,colour=cond1))
p <- p + facet_grid(. ~ cond2)
p <- p + geom_blank()
p <- p + geom_abline(aes(intercept=int,slope=sl,colour=cond1),data=dat)
p
मैं इसी में alpha=.5
पर लाइनों intercept=int, slope=slopeU
और intercept=int, slope=slopeL
साजिश और छाया उन्हें (उदाहरण के लिए के बीच इस क्षेत्र के लिए द्वारा परिभाषित जोड़ना चाहते हैं: निम्न कोड प्रत्येक शर्त के लिए सबसे अच्छा फिटिंग लाइनों कुछ faceting का उपयोग कर भूखंडों cond1 रंग)।
मुझे पता है कि थोड़ा हेरफेर के साथ मैं कम से कम दो एक्स मानों के लिए इन पंक्तियों के मान निर्दिष्ट करने वाले डेटा फ्रेम बना सकता हूं, फिर छायांकित क्षेत्र बनाने के लिए संबंधित geom_ribbon या geom_polygon को प्लॉट करें, हालांकि मैं और अधिक खोजना चाहता हूं सुरुचिपूर्ण समाधान। या ढलानों से कुछ निर्देशांक मैन्युअल रूप से निर्दिष्ट कर रहा है और एकमात्र तरीके से हस्तक्षेप करता है? मैं आवश्यक डेटा फ्रेम को सबसे अच्छी तरह से कैसे बनाऊंगा (जिसमें मूल फ्रेम की तुलना में अधिक पंक्तियों की आवश्यकता होगी ताकि शर्तों और एक्स, वाई जोड़े के सभी संयोजनों के लिए)।
यह कमाल है; धन्यवाद जोरेन। – tsawallis
तो यह मूल रूप से मेरी लागू समस्या के साथ काम करता है, लेकिन मुझे छायांकित क्षेत्रों पर रंगों को cond1 पर नहीं मिल सकता है, यहां तक कि आपके समाधान को ठीक से चलाकर भी। भरे हुए रिबन क्षेत्र ग्रे होते हैं (अल्फा = .5 पर) लेकिन पतली ठोस रेखा सीमाएं भी होती हैं। मुझसे कहां गलती हो रही है? क्या यह एक ggplot2 संस्करण अंतर हो सकता है? मैं 0.9.0 पर हूँ। मैं जिस ggplot कमांड का उपयोग कर रहा हूं वह मूल पोस्ट में है, 'पी + पसलियों + गाइड (fill = guide_legend (override.aes = list (अल्फा = 0.1)) के साथ) नीचे चिपकाया गया है। – tsawallis
@ वाल्डोग क्षमा करें, कॉपी करें + मेरे कोड पेस्ट करते समय बस थोड़ा सा चूक गया।आपको 'एईएस()' में शीर्ष स्तर 'ggplot()' कॉल में, या फ़ंक्शन के अंदर 'geom_ribbon' कॉल' में 'fill = cond1'' जोड़ना होगा। मैं क्षणिक रूप से संपादित करूंगा ... – joran