次の形式で、Web からいくつかのデータをスクレイピングして処理しました。
>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 astacked 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')
私はこの奇妙なチャートを手に入れました。
episode
領域が互いに交差しないようにし、各要素の合計パーセントが 100% になるようにキャンバス全体を塗りつぶします。