Jak wykreślić funkcję schodkową za pomocą ggplot?

15

Mam taki wykres: wprowadź opis zdjęcia tutaj

Kod R do jego wygenerowania to:

DF <- data.frame(date = as.Date(runif(100, 0, 800),origin="2005-01-01"), 
                 outcome = rbinom(100, 1, 0.1))
DF <- DF[order(DF$DateVariable),] #Sort by date
DF$x <- seq(length=nrow(DF)) #Add case numbers (in order, since sorted)
DF$y <- cumsum(DF$outcome)
library(ggplot2)
ggplot(DF, aes(x,y)) + geom_path() + #Ploting
scale_y_continuous(name= "Number of failures") +
scale_x_continuous(name= "Operations performed")

Chcę coś takiego: wprowadź opis zdjęcia tutaj

Różnica polega na stopniowaniu w przypadku awarii (potrzebuję prostokąta).

Moje pytania to:

  • Jak to osiągnąć za pomocą ggplot2?
  • Czy istnieje lepsza opcja wizualizacji wskaźnika awaryjności w czasie / wykonanych iteracjach?
  • Który wariant jest łatwiejszy do zrozumienia: to czy tamto , a może coś innego?
Jurij Pietrowski
źródło
2
Czy spojrzałeś na pomoc on-line, had.co.nz/ggplot2/geom_step.html ?
chl
Tak to jest to. Brakowało tego w dokumentacji.
Jurij Pietrowski
2
@Yuriy, odpowiedz na pytanie. Pomogłoby to przyszłym użytkownikom z podobnymi problemami.
mpiktas,
@mpiktas, dodał odpowiedź na główne pytanie. Jakieś opinie na inne pytania?
Jurij Pietrowski

Odpowiedzi:

17

Jak zauważył @chl, odpowiedź po prostu używa geom_step () zamiast geom_path () w powyższym przykładzie.

Wynik (fabuła ma inne dane):

wprowadź opis zdjęcia tutaj

Jurij Pietrowski
źródło