| grid.function {grid} | R Documentation | 
Draw a curve representing a function
Description
Draw a curve representing a function.
Usage
grid.function(...)
functionGrob(f, n = 101, range = "x", units = "native",
             name = NULL, gp=gpar(), vp = NULL)
grid.abline(intercept, slope, ...)
Arguments
| f |  A function that must take a single argument
and return a list with two numeric components named  | 
| n |  The number values that will be generated as input
to the function  | 
| range |  Either  | 
| units | A string indicating the units to use
for the  | 
| intercept | Numeric. | 
| slope | Numeric. | 
| ... |  Arguments passed to  | 
| name | A character identifier. | 
| gp | An object of class  | 
| vp | A Grid viewport object (or NULL). | 
Details
n values are generated and passed to the function f
and a series of lines are
drawn through the resulting x and y values.
The generation of the n values depends on the value of
range.  In the default case, dim is
"x", which means that a set
of x values are generated covering the range of the current
viewport scale in the x-dimension.  If dim is "y"
then values are generated from the current y-scale instead.
If range is a numeric vector, then values are generated
from that range.
grid.abline() provides a simple front-end for a straight
line parameterized by intercept and slope.
Value
A functiongrob grob.
Author(s)
Paul Murrell
See Also
Examples
    # abline
    # NOTE: in ROOT viewport on screen, (0, 0) at top-left
    #       and "native" is pixels!
    grid.function(function(x) list(x=x, y=0 + 1*x))
    # a more "normal" viewport with default normalized "native" coords
    grid.newpage()
    pushViewport(viewport())
    grid.function(function(x) list(x=x, y=0 + 1*x))
    # slightly simpler
    grid.newpage()
    pushViewport(viewport())
    grid.abline()
    # sine curve
    grid.newpage()
    pushViewport(viewport(xscale=c(0, 2*pi), yscale=c(-1, 1)))
    grid.function(function(x) list(x=x, y=sin(x)))
    # constrained sine curve
    grid.newpage()
    pushViewport(viewport(xscale=c(0, 2*pi), yscale=c(-1, 1)))
    grid.function(function(x) list(x=x, y=sin(x)),
                  range=0:1)
    # inverse sine curve
    grid.newpage()
    pushViewport(viewport(xscale=c(-1, 1), yscale=c(0, 2*pi)))
    grid.function(function(y) list(x=sin(y), y=y),
                  range="y")
    # parametric function
    grid.newpage()
    pushViewport(viewport(xscale=c(-1, 1), yscale=c(-1, 1)))
    grid.function(function(t) list(x=cos(t), y=sin(t)),
                  range=c(0, 9*pi/5))
    # physical abline
    grid.newpage()
    grid.function(function(x) list(x=x, y=0 + 1*x),
                  units="in")