grid.function
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")
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.