Ich habe einige Daten abgekratzt und von der Bahn in dieser Form verarbeitet:Erstellen nicht überlappende gestapelte Flächenstück mit 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
Ich bin zu erstellt ein gestapeltes Flächendiagramm versucht, ähnlich dem hier: Making a stacked area plot using ggplot2
Wenn ich ein
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')
Ich bekomme diese bizarre Tabelle.
Ich möchte die Bereiche nicht einander kreuzen, und die gesamte Leinwand als Gesamtprozentsatz für jeden episode
Faktor entspricht 100%.
Vielen Dank. Ich bin immer noch neugierig, warum meins nicht funktioniert hat. – Idr
@idris Die fehlende Zeile, die ich verstehe (es mag zwar sinnvoll sein, dass du "meinst", dass dieser Wert 0 ist, aber ich denke, es wäre gefährlich, ggplot dies global anzunehmen). Die Reihenfolge ist wahrscheinlich, weil sie geom_polygon unter der Haube verwendet. – joran
@idris Außerdem sollte ich hinzufügen, dass die Verwendung von 'geom_bar' einfacher sein könnte, da ich erwarte, dass es sich vorhersehbarer verhält und dieselben Informationen anzeigen würde. – joran