Rev 53846 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/grid/man/grid.function.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2007 R Core Development Team% Distributed under GPL 2 or later\name{grid.function}\alias{grid.function}\alias{functionGrob}\alias{grid.abline}\title{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{\item{f}{ A function that must take a single argumentand return a list with two numeric components named \code{x} and\code{y}.}\item{n}{ The number values that will be generated as inputto the function \code{f}.}\item{range}{ Either \code{"x"}, \code{"y"}, or a numeric vector.See the \sQuote{Details} section.}\item{units}{A string indicating the units to usefor the \code{x} and \code{y} values generated by the function.}\item{intercept}{ Numeric.}\item{slope}{ Numeric. }\item{\dots}{ Arguments passed to \code{grid.function()}}\item{name}{ A character identifier. }\item{gp}{An object of class \code{gpar}, typically the outputfrom a call to the function \code{gpar}. This is basicallya list of graphical parameter settings.}\item{vp}{A Grid viewport object (or NULL).}}\details{\code{n} values are generated and passed to the function \code{f}and a series of lines aredrawn through the resulting \code{x} and \code{y} values.The generation of the \code{n} values depends on the value of\code{range}. In the default case, \code{dim} is\code{"x"}, which means that a setof \code{x} values are generated covering the range of the currentviewport scale in the x-dimension. If \code{dim} is \code{"y"}then values are generated from the current y-scale instead.If \code{range} is a numeric vector, then values are generatedfrom that range.\code{grid.abline()} provides a simple front-end for a straightline parameterized by \code{intercept} and \code{slope}.}\value{A functiongrob grob.}\author{Paul Murrell}\seealso{\link{Grid},\code{\link{viewport}}}\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" coordsgrid.newpage()pushViewport(viewport())grid.function(function(x) list(x=x, y=0 + 1*x))# slightly simplergrid.newpage()pushViewport(viewport())grid.abline()# sine curvegrid.newpage()pushViewport(viewport(xscale=c(0, 2*pi), yscale=c(-1, 1)))grid.function(function(x) list(x=x, y=sin(x)))# constrained sine curvegrid.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 curvegrid.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 functiongrid.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 ablinegrid.newpage()grid.function(function(x) list(x=x, y=0 + 1*x),units="in")}\keyword{dplot}