drawDirectionField {oce}R Documentation

Draw a Direction Field

Description

The direction field is indicated variously, depending on the value of type:

Usage

drawDirectionField(
  x,
  y,
  u,
  v,
  scalex,
  scaley,
  skip,
  length = 0.05,
  add = FALSE,
  type = 1,
  col = par("fg"),
  pch = 1,
  cex = par("cex"),
  lwd = par("lwd"),
  lty = par("lty"),
  xlab = "",
  ylab = "",
  debug = getOption("oceDebug"),
  ...
)

Arguments

x, y

coordinates at which velocities are specified. The length of x and y depends on the form of u and v (vectors or matrices).

u, v

velocity components in the x and y directions. Can be either vectors with the same length as ⁠x, y⁠, or matrices, of dimension length(x) by length(y).

scalex, scaley

scale to be used for the velocity arrows. Exactly one of these must be specified. Arrows that have u^2+v^2=1 will have length scalex along the x axis, or scaley along the y axis, according to which argument is given.

skip

either an integer, or a two-element vector indicating the number of points to skip when plotting arrows (for the matrix ⁠u, v⁠ case). If a single value, the same skip is applied to both the x and y directions. If a two-element vector, specifies different values for the x and y directions.

length

indication of width of arrowheads. The somewhat confusing name of this argument is a consequence of the fact that it is passed to arrows() for drawing arrows. Note that the present default is smaller than the default used by arrows().

add

if TRUE, the arrows are added to an existing plot; otherwise, a new plot is started by calling plot() with x, y and type="n". In other words, the plot will be very basic. In most cases, the user will probably want to draw a diagram first, and add the direction field later.

type

indication of the style of arrow-like indication of the direction.

col

color of line segments or arrows; see par() for meaning

pch, cex

plot character and expansion factor, used for type=1; see par() for meanings

lwd, lty

line width and type, used for type=2; see par() for meaning

xlab, ylab

x and y axis labels

debug

debugging value; set to a positive integer to get debugging information.

...

other arguments to be passed to plotting functions (e.g. axis labels, etc).

Details

Value

None.

Author(s)

Dan Kelley and Clark Richards

Examples

library(oce)
plot(c(-1.5, 1.5), c(-1.5, 1.5), xlab = "", ylab = "", type = "n")
drawDirectionField(x = rep(0, 2), y = rep(0, 2),
    u = c(1, 1), v = c(1, -1), scalex = 0.5, add = TRUE)
plot(c(-1.5, 1.5), c(-1.5, 1.5), xlab = "", ylab = "", type = "n")
drawDirectionField(x = rep(0, 2), y = rep(0, 2),
    u = c(1, 1), v = c(1, -1), scalex = 0.5, add = TRUE, type = 2)

# 2D example
x <- seq(-2, 2, 0.1)
y <- x
xx <- expand.grid(x, y)[, 1]
yy <- expand.grid(x, y)[, 2]
z <- matrix(xx * exp(-xx^2 - yy^2), nrow = length(x))
gz <- grad(z, x, y)
drawDirectionField(x, y, gz$gx, gz$gy, scalex = 0.5, type = 2, len = 0.02)
oceContour(x, y, z, add = TRUE)


[Package oce version 1.8-2 Index]