Gere um geom_step preenchido

Posso obter um "preenchido"geom_line com qualquergeom_ribbon ougeom_area. Existe um equivalente parageom_step que não requer mexer com polígonos / gráficos de barras ou criar os pontos de etapa reais? Aqui estão alguns dados de amostra:

library(ggplot2)
set.seed(1)
df <- data.frame(
  x=rep(sort(sample(1:20, 5)), 3), 
  y=ave(runif(15), rep(1:3, each=5), FUN=cumsum),
  grp=letters[rep(1:3, each=5)]
)
ggplot(df, aes(x=x, y=y, color=grp)) + geom_step(position="stack")

O que produz:

Basicamente, quero exatamente a mesma coisa, mas com áreas preenchidas. Eu sei como fazer isso criando os valores x / y necessários para as etapas e usandogeom_area, mas espero que exista algo mais simples.

questionAnswers(2)

yourAnswerToTheQuestion