sunflowerplot {base}R Documentation

Produce a Sunflower Scatter Plot

Description

Multiple points are plotted as ``sunflowers'' with multiple leaves such that overplotting is visualized instead of accidental and invisible.

Usage

sunflowerplot(x, y = NULL, number, log = "", digits = 6,
             xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL,
             add = FALSE, rotate = FALSE,
             pch = 16, cex = 0.8, cex.fact = 1.5,
             size = 1/8, seg.col = 2, seg.lwd = 1.5, ...)

Arguments

x numeric vector of x-coordinates of length n, say, or another valid plotting structure, as for plot.default, see also xy.coords.
y numeric vector of y-coordinates of length n.
number integer vector of length n. number[i] = number of replicates for (x[i],y[i]), may be 0.
Default: compute the exact multiplicity of the points x[],y[].
log character indicating log coordinate scale, see plot.default.
digits when number is computed (i.e., not specified), x and y are rounded to digits significant digits before multiplicities are computes.
xlab,ylab character label for x-, or y-axis, respectively.
xlim,ylim numeric(2) limiting the extents of the x-, or y-axis.
add logical; should the plot be added on a previous one ? Default is FALSE.
rotate logical; if TRUE, randomly rotate the sunflowers (preventing artefacts).
pch plotting character to be used for points (number[i]==1) and center of sunflowers.
cex numeric; character size expansion of center points (s. pch).
cex.fact numeric shrinking factor to be used for the center points when there are flower leaves, i.e. cex / cex.fact is used for these.
size of sunflower leaves in inches, 1[in] := 2.54[cm]. Default: 1/8" ~= 3.2mm.
seg.col color to be used for the segments which make the sunflowers leaves, see par(col=); col = "gold" reminds of real sunflowers.
seg.lwd numeric; the line width for the leaves' segments.
... Further arguments to plot(..) [if add=FALSE].

Details

For number[i]==1, a (slightly enlarged) usual plotting symbol (pch) is drawn. For number[i] > 1, a small plotting symbol is drawn and number[i] equi-angular ``rays'' emanate from it.

If rotate=TRUE and number[i] >= 2, a random direction is chosen (instead of the y-axis) for the first ray. The goal is to jitter the orientations of the sunflowers in order to prevent artefactual visual impressions.

Value

A list with three components of same length,
x x coordinates
y y coordinates
number number

Side Effects

A scatter plot is drawn with ``sunflowers'' as symbols.

Author(s)

Andreas Ruckstuhl, Werner Stahel, Martin Maechler, Tim Hesterberg, 1989–1993. Port to R by Martin Maechler maechler@stat.math.ethz.ch.

References

Chambers, J. M., Cleveland, W. S., Kleiner, B. and Tukey, P. A. (1983) Graphical Methods for Data Analysis. Wadsworth.

Schilling, M. F. and Watkins, A. E. (1994) A suggestion for sunflower plots. The American Statistician, 48, 303–305.

See Also

density

Examples

data(iris)
## `number' is computed automatically:
sunflowerplot(iris[, 3:4])
## Imitating  Chambers et al., p.109, closely:
sunflowerplot(iris[, 3:4],cex=.2, cex.f=1, size=.035, seg.lwd=.8)

sunflowerplot(x=sort(2*round(rnorm(100))), y= round(rnorm(100),0),
             main = "Sunflower Plot of Rounded N(0,1)")

## A `point process' {explicit `number' argument}:
sunflowerplot(rnorm(100),rnorm(100), number=rpois(n=100,lambda=2),
                        rotate=TRUE, main="Sunflower plot")

[Package Contents]