У меня есть некоторые данные соскобленные и переработанные из Интернета в этой форме:Создать неперекрывающийся сложена площадь участок с 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')
Я получаю эту странную диаграмму.
Я хочу, чтобы районы не пересекались друг с другом, и чтобы заполнить весь холст, поскольку общий процент для каждого фактора episode
равен 100%.
Большое спасибо. Мне все еще интересно, почему моя работа не работает. – Idr
@idris Недостающая строка, которую я понимаю (хотя может показаться, что вы «означаете», что для этого значения должно быть 0, я думаю, было бы опасно, если бы ggplot предполагал, что глобально). Возможно, упорядочение связано с тем, что он использует geom_polygon под капотом. – joran
@idris Кроме того, я должен добавить, что использование 'geom_bar' может быть проще, поскольку я ожидаю, что он будет вести себя более предсказуемо и отобразит ту же информацию. – joran