gpt4 book ai didi

r - 使用 ggplot2 创建非重叠堆积面积图

转载 作者:行者123 更新时间:2023-12-04 10:43:09 24 4
gpt4 key购买 nike

我以这种形式从网络上抓取和处理了一些数据:

>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

我得到了这个奇怪的图表。

我希望这些区域不相互交叉,并填充整个 Canvas 作为每个 episode 的总百分比系数等于 100%。

最佳答案

那很有趣。你少了一行(Lane 没有出现在 Tea Leaves 中......?),所以

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

似乎工作。但它也必须按正确的顺序排列,我不完全确定为什么。

关于r - 使用 ggplot2 创建非重叠堆积面积图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10393269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com