2017-06-14 10 views
5

में रेखा और रिबन रंगों को कैसे बदलना है, मुझे आशा है कि कोई मेरी इस प्लॉटिंग समस्या के साथ मदद कर सकता है। डेटा here पाया जा सकता है।एक facet_grid

असल में मैं एक लाइन (मतलब) प्लॉट करना चाहता हूं और यह परीक्षण किए गए 4 मॉडल के लिए आत्मविश्वास अंतराल (निचला, ऊपरी) है। मैं Cat_Auth चर पर पहलू करना चाहता हूं जिसके लिए 4 श्रेणियां हैं (इसलिए 4 भूखंड)। पहला 'मॉडल' वास्तव में केवल नमूना डेटा का मतलब है और मैं इसके लिए सीआई नहीं चाहता (डेटा में निर्दिष्ट एनए मान - यह सुनिश्चित नहीं है कि यह सही काम है या नहीं)।

मैं साजिश के साथ वहाँ किसी तरह प्राप्त कर सकते हैं:

newdata <- read.csv("data.csv", header=T) 
ggplot(newdata, aes(x = Affil_Max, y = Mean)) + 
    geom_line(data = newdata, aes(), colour = "blue") + 
    geom_ribbon(data = newdata, alpha = .5, aes(ymin = Lower, ymax = Upper, group = Model, fill = Model)) + 
    facet_grid(.~ Cat_Auth) 

लेकिन मैं अलग रंग की लाइनों और छायांकित रिबन एक मॉडल के लिए (उदाहरण के लिए एक लाल मतलब लाइन और मॉडल 2 के लिए लाल छायांकित रिबन, हरी चाहते हैं मॉडल 3 आदि के लिए)। साथ ही, मैं यह नहीं समझ सकता कि क्यों औसत मूल्यों के पहले सेट से संबंधित नीली रेखा इस तरह से अलग है।

किसी भी सहायता के लिए वास्तव में आभारी होंगे!

Plot

+1

आप अपने डेटा में स्तंभ जोड़ने के लिए अलग अलग रंग के साथ सौदा करना चाहते हैं: https://stackoverflow.com/questions/19167944/ggplot2-use -different-रंग-इन-अलग-पहलुओं। आप रंगों के वेक्टर के साथ भी वहां पहुंच सकते हैं। मैं आपके उदाहरण पर कुछ भी परीक्षण नहीं कर सकता। –

+1

डेटा डाउनलोड नहीं कर सकता है। पासवर्ड की आवश्यकता है –

+1

आपको शायद अपने 'geom_line' के अंदर' एईएस (रंग = मॉडल, समूह = मॉडल) 'की आवश्यकता है, और मॉडल को पहले एक कारक में परिवर्तित किया जाना चाहिए। – neilfws

उत्तर

2

इस प्रयास करें:

library(dplyr) 
library(ggplot2) 

newdata %>% 
    mutate(Model = as.factor(Model)) %>% 
    ggplot(aes(Affil_Max, Mean)) + 
    geom_line(aes(color = Model, group = Model)) + 
    geom_ribbon(alpha = .5, aes(ymin = Lower, ymax = Upper, 
           group = Model, fill = Model)) + 
    facet_grid(. ~ Cat_Auth) 
+0

धन्यवाद। यह बहुत अच्छी तरह से काम करता है - लेकिन मैं रिबन के भरने वाले रंग को कैसे बदलूं? मैंने यह जोड़ा है कि लाइन रंग को कैसे बदलना है: 'scale_color_manual (मान = सी ("काला", "नीला", "लाल", "हरा")) ' और मैं मिलान करना चाहता हूं रेखा रंग के लिए रिबन रंग भरें। – LucaS

+1

समान विचार, 'scale_fill_manual' को छोड़कर। – neilfws

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