R: Produce a Sunflower Scatter Plot

sunflowerplot {base} | R Documentation

## Produce a Sunflower Scatter Plot

### Description

Multiple points are plotted as ``sunflowers'' with multiple leaves (``petals'') 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", approximately 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]