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 = range(c(y, Fn.kn)), xlab = "x", ylab = "f(x)", main = NULL, add = FALSE, verticals = TRUE, do.points = (n < 1000), pch = par("pch"), col = par("col"), col.points = col, cex.points = par("cex"), col.hor = col, col.vert = col, lty = par("lty"), lwd = par("lwd"), ...) ## S3 method for class 'stepfun' lines(x, ...)
x |
an R object inheriting from |
xval |
numeric vector of abscissa values at which to evaluate
|
xlim, ylim |
limits for the plot region: see
|
xlab, ylab |
labels for x and y axis. |
main |
main title. |
add |
logical; if |
verticals |
logical; if |
do.points |
logical; if |
pch |
character; point character if |
col |
default color of all points and lines. |
col.points |
character or integer code; color of points if
|
cex.points |
numeric; character expansion factor if |
col.hor |
color of horizontal lines. |
col.vert |
color of vertical lines. |
lty, lwd |
line type and thickness for all lines. |
... |
A list with two components
t |
abscissa (x) values, including the two outermost ones. |
y |
y values ‘in between’ the |
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
.
require(graphics) 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.hor = "bisque") plot(sfun.2);plot(sfun.2, xval = tt, add = TRUE, col = "orange") # all colors plot(sfun1);lines(sfun1, xval = tt, col.hor = "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 = i) legend(2.5, 1.9, paste("f =", c(0, 0.2, 1)), col = 1:3, lty = 1, y.intersp = 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")