Как построить функцию ступеней лестницы с помощью ggplot?

15

У меня есть график, как это: введите описание изображения здесь

R код для его генерации:

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")

Я хочу что-то вроде этого: введите описание изображения здесь

Разница заключается в форме шагов в случае сбоя (мне нужно прямоугольное).

Мои вопросы:

  • Как этого добиться с помощью ggplot2?
  • Есть ли лучший вариант для визуализации частоты отказов с течением времени / выполненных итераций?
  • Какой вариант легче понять: тот или иной или, может быть, что-то другое?
Юрий Петровский
источник
2
Вы смотрели на интерактивную справку had.co.nz/ggplot2/geom_step.html ?
ЧЛ
Да, это так. Пропустил это в документации.
Юрий Петровский
2
@Yuriy, пожалуйста, ответь на свой вопрос. Это помогло бы будущим пользователям с подобными проблемами.
mpiktas
@mpiktas, добавил ответ на главный вопрос. Есть мнения по другим вопросам?
Юрий Петровский

Ответы:

17

Как отметил @chl, ответ просто использует geom_step () вместо geom_path () в примере выше.

Результат (сюжет имеет разные данные):

введите описание изображения здесь

Юрий Петровский
источник