| plot.stepfun {stats} | R Documentation | 
Method of the generic plot for stepfun
objects and utility for plotting piecewise constant functions.
## S3 method for class 'stepfun':
plot(x, xval, xlim, ylim,
     xlab = "x", ylab = "f(x)", main = NULL,
     add = FALSE, verticals = TRUE, do.points = TRUE,
     pch = par("pch"),
     col.points = par("col"), cex.points = par("cex"),
     col.hor = par("col"), col.vert = par("col"),
     lty = par("lty"), lwd = par("lwd"), ...)
## S3 method for class 'stepfun':
lines(x, ...)
x | 
an R object inheriting from "stepfun". | 
xval | 
numeric vector of abscissa values at which to evaluate
x.  Defaults to knots(x) restricted to xlim. | 
xlim,ylim | 
numeric(2) each; range of x or y values
to use.  Both have sensible defaults. | 
xlab,ylab | 
labels of x and y axis. | 
main | 
main title. | 
add | 
logical; if TRUE only add to an existing plot. | 
verticals | 
logical;  if TRUE, draw vertical lines at steps. | 
do.points | 
logical;  if true, also draw points at the
(xlim restricted) knot locations. | 
pch | 
character; point character if do.points. | 
col.points | 
character or integer code; color of points if
do.points. | 
cex.points | 
numeric; character expansion factor if do.points. | 
col.hor | 
color of horizontal lines. | 
col.vert | 
color of vertical lines. | 
lty, lwd | 
line type and thickness for all lines. | 
... | 
further arguments of plot(.), or if(add)
segments(.). | 
A list with two components
t | 
abscissa (x) values, including the two outermost ones. | 
y | 
y values ‘in between’ the t[]. | 
Martin Maechler maechler@stat.math.ethz.ch, 1990, 1993; ported to R, 1997.
ecdf for empirical distribution functions as
special step functions,
approxfun and splinefun.
y0 <- c(1,2,4,3)
sfun0  <- stepfun(1:3, y0, f = 0)
sfun.2 <- stepfun(1:3, y0, f = .2)
sfun1  <- stepfun(1:3, y0, right = TRUE)
tt <- seq(0,3, by=0.1)
op <- par(mfrow=c(2,2))
plot(sfun0); plot(sfun0, xval=tt, add=TRUE, col.h="bisque")
plot(sfun.2);plot(sfun.2,xval=tt, add=TRUE, col.h="orange")
plot(sfun1);lines(sfun1, xval=tt, col.h="coral")
##-- This is  revealing :
plot(sfun0, verticals= FALSE,
     main = "stepfun(x, y0, f=f)  for f = 0, .2, 1")
for(i in 1:3)
  lines(list(sfun0,sfun.2,stepfun(1:3,y0,f = 1))[[i]], col.h=i, col.v=i)
legend(2.5, 1.9, paste("f =", c(0,0.2,1)), col=1:3, lty=1, y.inter=1)
par(op)
# Extend and/or restrict 'viewport':
plot(sfun0, xlim = c(0,5), ylim = c(0, 3.5),
     main = "plot(stepfun(*), xlim= . , ylim = .)")
##-- this works too (automatic call to  ecdf(.)):
plot.stepfun(rt(50, df=3), col.vert = "gray20")