2012-05-01 11 views
6

साथ स्टैक्ड क्षेत्र साजिश मैं कुछ डेटा स्क्रैप और इस रूप में वेब से संसाधित:बनाएं गैर-अतिव्यापी ggplot2

>head(dat) 
    count name   episode percent 
1 309 don 01-a-little-kiss 0.27081507 
2 220 megan 01-a-little-kiss 0.19281332 
3 158 joan 01-a-little-kiss 0.13847502 
4 113 peggy 01-a-little-kiss 0.09903593 
5 107 roger 01-a-little-kiss 0.09377739 
6 81 pete 01-a-little-kiss 0.07099036 

मैं एक स्टैक्ड क्षेत्र बनाया चार्ट करने के लिए कोशिश कर रहा हूँ, यहाँ के समान: Making a stacked area plot using ggplot2

जब मैं करना एक

require(RCurl) 
require(ggplot2) 
link <- getURL("http://dl.dropbox.com/u/25609375/so_data/final.txt") 
dat <- read.csv(textConnection(link), sep=' ', header=FALSE, 
      col.names=c('count', 'name', 'episode')) 

dat <- ddply(dat, .(episode), transform, percent = count/sum(count)) 

ggplot(dat, aes(episode, percent, group=name)) + 
    geom_area(aes(fill=name, colour=name), position='stack') 

enter image description here

मुझे यह विचित्र चार्ट मिलता है।

मैं चाहता हूं कि क्षेत्र एक दूसरे को पार न करें, और पूरे कैनवास को भरने के लिए प्रत्येक episode कारक के लिए कुल प्रतिशत 100% के बराबर है।

उत्तर

8

यह दिलचस्प था। आप एक ही पंक्ति (लेन चाय पत्तियों में प्रकट नहीं किया था ...? भूल रहे हैं), तो

dat2 <- rbind(dat,data.frame(count = 0,name = 'lane', 
        episode = '02-tea-leaves',percent = 0)) 

ggplot(arrange(dat2,name,episode), aes(x = episode,y = percent)) + 
    geom_area(aes(fill=name,group = name), position='stack') 

enter image description here

काम करने के लिए प्रकट होता है। लेकिन इसे सही क्रम में भी होना था, और मुझे पूरा यकीन नहीं है कि क्यों।

+0

बहुत धन्यवाद। मैं अभी भी उत्सुक हूं कि मेरा काम क्यों नहीं हुआ। – Idr

+0

@idris लापता पंक्ति मैं समझता हूं (जबकि यह समझ में आता है कि उस मान के लिए आप "मतलब" हैं, मुझे लगता है कि ggplot विश्व स्तर पर मानना ​​खतरनाक होगा)। आदेश शायद इसलिए है क्योंकि यह हुड के नीचे geom_polygon का उपयोग कर रहा है। – joran

+2

@idris इसके अलावा, मुझे यह भी जोड़ना चाहिए कि 'geom_bar' का उपयोग करना आसान हो सकता है, क्योंकि मुझे उम्मीद है कि यह अधिक अनुमानित व्यवहार करेगा, और वही जानकारी प्रदर्शित करेगा। – joran