Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.44 KB | None | 0 0
  1. library(ggplot2)
  2. set.seed(1)
  3. df <- data.frame(
  4. x=rep(sort(sample(1:20, 5)), 3),
  5. y=ave(runif(15), rep(1:3, each=5), FUN=cumsum),
  6. grp=letters[rep(1:3, each=5)]
  7. )
  8. ggplot(df, aes(x=x, y=y, color=grp)) + geom_step(position="stack")
  9.  
  10. df2 <- rbind(
  11. df,
  12. transform(df[order(df$x),],
  13. x=x - 1e-9, # required to avoid crazy steps
  14. y=ave(y, grp, FUN=function(z) c(z[[1]], head(z, -1L)))
  15. ) )
  16. ggplot(df2, aes(x=x, y=y, fill=grp)) + geom_area()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement