2013-02-11 17 views
17

मैं ग्राफ के लिए निम्न (मूल रूप से पाया HERE)
stacked histogramsप्लॉट कारक चर से अधिक histograms

यह धारणात्मक आसान है समान दोहराने के लिए कोशिश कर रहा हूँ, लेकिन मैं थोड़ा कैसे में यह करने के लिए के रूप में स्टम्प्ड हूँ आर
संक्षेप में: मैं सप्ताह के प्रत्येक दिन (24-स्तरीय कारक चर) पर 24 घंटे के व्यवहार व्यवहार की हिस्टोग्राम उत्पन्न करना चाहता हूं। फिर, मैं इन हिस्टोग्रामों को एक-दूसरे के ऊपर ढेर करना चाहता हूं ताकि दिन के घंटे में व्यवहार का वितरण आसानी से तुलना किया जा सके (फिर, उदाहरण देखें)।

उदाहरण के लिए, अपने डेटा इस प्रकार दिखाई देंगे:

weekday hour count 
    Tuesday 15  553 
    Monday 1  53 
    Monday 10  539 
    Monday 15  629 
    Tuesday 9  281 
Saturday 4  11 
    Monday 3  20 
    Sunday 3  10 
    Sunday 7  2 
    Sunday 2  17 

मैं ऊपर के लिंक में ग्राफ को लागू करने के बारे में कैसे जाते हैं? मैं ggplot के साथ भयानक हूं, लेकिन मुझे लगता है कि यह संभावित समाधान है। धन्यवाद!

उत्तर

29

ऐसा कुछ?

set.seed(1234) 
df <- data.frame(weekday=rep(sort(unique(weekdays(.leap.seconds))), each=24), 
         hour=rep(1:24, 7), count=sample(2:600, 24*7, replace=T)) 

df$weekday <- factor(df$weekday, levels=c("Monday", "Tuesday", "Wednesday", 
         "Thursday", "Friday", "Saturday", "Sunday"), ordered=T) 
df$hour <- factor(df$hour) 

require(ggplot2)  
p <- ggplot(data = df, aes(x=hour)) 
p <- p + geom_histogram(aes(weights=count, fill=weekday)) 
p <- p + scale_fill_brewer(palette="Set3") 
p <- p + facet_wrap(~ weekday, ncol=1) 
p 

ggplot2_facet_histogram

+1

इसे किसी न किसी। @ अरुण, आप सबसे अच्छे हैं। – roody

+0

त्वरित प्रश्न। जब मैं वास्तव में अपने डेटा के साथ ऐसा करता हूं, तो मुझे एक्स-अक्ष में कुछ अंतराल मिल रहा है। मैं उपरोक्त छवि जोड़ रहा हूँ। – roody

+0

नहीं, 24 अलग-अलग बार हैं। मुझे लगता है कि समस्या यह है कि बिनविड्थ 30 पर सेट हो रहा है .... लेकिन मुझे नहीं पता कि उस स्निपेट को कहां रखा जाए! – roody

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