This Web
Other Webs
Schematics
Scheme Links
(module staircase mzscheme (require (lib "plot.ss" "plot") (lib "list.ss")) (provide graph-cumulative-time-and-bytes) ;; graph-cumulative-time-and-bytes: (listof (list number number)) -> plot-item (define (graph-cumulative-time-and-bytes time&bytes) ;; In order to get a staircase effect, we have to ;; turn our data into parametric form. Here goes: (define (to-parametric l) (cond [(empty? (rest l)) l] [else (cons (first l) (cons (list (first (second l)) (second (first l))) (to-parametric (rest l))))])) (define parametric-time&bytes (to-parametric time&bytes)) (line (lambda (t) (list->vector (list-ref parametric-time&bytes t))) [mode 'parametric] [samples (length parametric-time&bytes)] [t-min 0] [t-max (sub1 (length parametric-time&bytes))])))
> (plot (graph-cumulative-time-and-bytes '((1 1) (2 3) (4 7))))