2012-10-17 17 views
6

मेरे पास 224900 अवलोकन और 10 चर के साथ एक डेटासेट है जो विभिन्न टेलर श्रृंखला बैक ट्रांसफॉर्मेशन के मूल डेटा मानों का परिणाम है। मैं डेटा अनुमानों पर टेलर श्रृंखला के पीछे परिवर्तन की मजबूती के स्तर को दिखाने के लिए इन 10 चरों में से प्रत्येक के घनत्व भूखंडों को ओवरले करना चाहता हूं। केवल 10 लाइनों के बजाय, मैंने सोचा कि रंग लागू होना अच्छा होगा, ताकि प्रत्येक घनत्व साजिश ग्रे पैमाने के 10% योगदान दे। जहां डेटा है जो सिर्फ भूखंडों से संबंधित है, वहां 10% ग्रे होगा, दो भूखंड 20% पर अंधेरे से दोगुना हो जाएंगे, जहां तक ​​सभी घनत्व वाले प्लॉट ओवरलैप होंगे, जो 100% होगा।आर में ओवरले 10 घनत्व प्लॉट ओवरलैपिंग प्लॉट्स की संख्या आनुपातिक रंग के साथ

मैंने 2249000 पंक्तियों का डेटाफ्रेम प्राप्त करने के लिए melt का उपयोग किया है। तीन कॉलम हैं, पहला व्यक्ति आईडी है, दूसरा ग्रुपिंग वैरिएबल (variable) है, और तीसरा दैनिक केजे सेवन का मूल्य है (value)।

मैंने ggplot2 में घनत्व भूखंडों को ओवरले करने के लिए निम्न कोड का उपयोग किया है लेकिन यह समूहों के लिए अलग-अलग रंगों का उपयोग करता है। मैं अपना ग्रे स्केल पाने के लिए इस कोड को कैसे बदल सकता हूं? मैं चाहता हूं कि सभी 10 समूहों में एक ही रंग और रंग घनत्व हो; साजिश का उद्देश्य केवल ग्रेस्केल का उपयोग करके घनत्व साजिश पर ओवरलैप की मात्रा को दर्शाना है।

variable <- c(rep("A",100), rep("B",100), rep("C",100), rep("D",100), rep("E",100)) 
value <- c(rnorm(100,5000,200), rnorm(100,5050,210), rnorm(100,5100,215), 
      rnorm(100,5150,220), rnorm(100,5200,225)) 
MyData <- cbind.data.frame(value, variable) 
ggplot(MyData, aes(x=value, fill=variable)) + geom_density(alpha = 0.5) 

मुझे लगता है कि इस सवाल का जवाब scale_colour_grey और/या scale_manual लेकिन मैं संशोधित डॉन के साथ जुड़ा हो सकता है:

ggplot(Energy, aes(x=value, fill=variable)) + geom_density(alpha = 0.5) 

कुछ परीक्षण डाटा 5 समूहों और नहीं 10 का उपयोग कर, मदद करने के लिए इच्छुक लोगों के लिए साथ खेलने के लिए खुद को काम करने के लिए पर्याप्त समझ में नहीं आता।

उत्तर

8

यह एक group सौंदर्य का उपयोग करने और gray10 या gray20 तरह ग्रे की एक प्रकाश छाया घनत्व के लिए fill बनाकर किया जा सकता है:

ggplot(MyData, aes(x=value, group=variable)) + geom_density(alpha = 0.5, fill="gray20") 

जो तुम दे देंगे:

Density plot

आपके मामले में आप शायद gray10 चाहते हैं, क्योंकि आपके पास यहां प्लॉट किए गए 5 की बजाय 10 समूह हैं।

+0

धन्यवाद, वही है जो मैं चाहता था। मैंने अपने 10-समूह "उचित" डेटा सेट के लिए 'fill =" gray20 "' to 'fill =" gray10 "' बदल दिया और यह पूरी तरह से काम करता है! – Michelle

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