Learn R Programming

oce (version 0.2-1)

oce.plot.sticks: Draw a stick-plot diagram

Description

Draw a stick-plot diagram

Usage

oce.plot.sticks(x, y, u, v, yscale=1, add=FALSE, length=1/20,
                mgp=getOption("oceMgp"),
                mar=c(mgp[1]+1,mgp[1]+1,1,1+par("cex")),
                ...)

Arguments

x
x coordinates of stick origins.
y
y coordinates of stick origins.
u
x coordinates of stick lengths.
v
y coordinates of stick lengths.
yscale
scale from u and v to y (see Details).
add
boolean, set TRUE to add to an existing plot.
length
value to be provided to arrows; here, we set a default that is smaller than normally used, because these plots tend to be crowded in oceanographic applications.
mgp
3-element numerical vector to use for par(mgp), and also for par(mar), computed from this. The default is tighter than the R default, in order to use more space for the data and less for the axes.
mar
value to be used with par("mar").
...
graphical parameters passed down to arrows. It is common, for example, to use smaller arrow heads than arrows uses; see Examples.

Details

The arrows are drawn with directions on the graph that match the directions indicated by the u and v components. The arrow size is set relative to the units of the y axis, according to the value of yscale, which has the unit of v divided by the unit of y.

The interpretation of diagrams produced by oce.plot.sticks can be difficult, owing to overlap in the arrows. For this reason, it It is often a good idea to smooth u and v before using this function.

Examples

Run this code
library(oce)

# Flow from a point source
n <- 16
x <- rep(0, n)
y <- rep(0, n)
theta <- seq(0, 2*pi, length.out=n)
u <- sin(theta)
v <- cos(theta)
oce.plot.sticks(x, y, u, v, xlim=c(-2, 2), ylim=c(-2, 2))
rm(n, x, y, theta, u, v)

# Oceanographic example
data(airHalifax)
attach(airHalifax)
oce.plot.ts(t, temperature, type='l', ylim=c(0,25), ylab=resizableLabel("T"))
oce.plot.sticks(t, rep(5, length(u)), u, v, yscale=2, add=TRUE)
legend("bottomright", legend="Velocity scale: 2 m/s per degC", bg="white")
detach(airHalifax)

Run the code above in your browser using DataLab