Plots a rose diagram (rose of directions), the analogue of a histogram or density plot for angular data.
rose(x, ...)# S3 method for default
rose(x, breaks = NULL, ...,
weights=NULL,
nclass = NULL,
unit = c("degree", "radian"),
start=0, clockwise=FALSE,
main)
# S3 method for histogram
rose(x, ...,
unit = c("degree", "radian"),
start=0, clockwise=FALSE,
main, labels=TRUE, at=NULL, do.plot = TRUE)
# S3 method for density
rose(x, ...,
unit = c("degree", "radian"),
start=0, clockwise=FALSE,
main, labels=TRUE, at=NULL, do.plot = TRUE)
# S3 method for fv
rose(x, ...,
unit = c("degree", "radian"),
start=0, clockwise=FALSE,
main, labels=TRUE, at=NULL, do.plot = TRUE)
A window (class "owin"
) containing the plotted region.
Data to be plotted.
A numeric vector containing angles,
or a histogram
object containing a histogram of
angular values, or a density
object containing a
smooth density estimate for angular data,
or an fv
object giving a function
of an angular argument.
Arguments passed to hist
to determine
the histogram breakpoints.
Additional arguments passed to polygon
controlling the appearance of the plot
(or passed from rose.default
to hist
to control the calculation of the histogram).
The unit in which the angles are expressed.
The starting direction for measurement of angles,
that is, the spatial direction which corresponds to a measured angle
of zero. Either a character string giving a compass direction
("N"
for north, "S"
for south, "E"
for east,
or "W"
for west) or a number giving the angle from the
the horizontal (East) axis to the starting direction. For example,
if unit="degree"
and clockwise=FALSE
,
then start=90
and start="N"
are equivalent.
The default is to measure angles anti-clockwise from the
horizontal axis (East direction).
Logical value indicating whether angles increase in the clockwise
direction (clockwise=TRUE
) or anti-clockwise,
counter-clockwise direction (clockwise=FALSE
, the default).
Optional vector of numeric weights associated with x
.
Optional main title for the plot.
Either a logical value indicating whether to plot labels next to the tick marks, or a vector of labels for the tick marks.
Optional vector of angles at which tick marks should be plotted.
Set at=numeric(0)
to suppress tick marks.
Logical value indicating whether to really perform the plot.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au
Rolf Turner rolfturner@posteo.net
and Ege Rubak rubak@math.aau.dk
A rose diagram or rose of directions is the analogue of a histogram or bar chart for data which represent angles in two dimensions. The bars of the bar chart are replaced by circular sectors in the rose diagram.
The function rose
is generic, with a default method
for numeric data, and methods for histograms and function tables.
If x
is a numeric vector, it must contain angular values
in the range 0 to 360 (if unit="degree"
)
or in the range 0 to 2 * pi
(if unit="radian"
).
A histogram of the data will first be computed using
hist
. Then the rose diagram of this histogram
will be plotted by rose.histogram
.
If x
is an object of class "histogram"
produced by
the function hist
, representing the histogram
of angular data, then the rose diagram of the densities
(rather than the counts) in this histogram object will be plotted.
If x
is an object of class "density"
produced by
circdensity
or density.default
,
representing a kernel smoothed density estimate of angular data,
then the rose diagram of the density estimate will be plotted.
If x
is a function value table (object of class "fv"
)
then the argument of the function will be interpreted as an angle,
and the value of the function will be interpreted as the radius.
By default, angles are interpreted using the mathematical convention
where the zero angle is the horizontal \(x\) axis, and angles
increase anti-clockwise. Other conventions can be specified
using the arguments start
and clockwise
.
Standard compass directions are obtained by setting unit="degree"
,
start="N"
and clockwise=TRUE
.
fv
, hist
,
circdensity
,
density.default
.
ang <- runif(1000, max=360)
rose(ang, col="grey")
rose(ang, col="grey", start="N", clockwise=TRUE)
Run the code above in your browser using DataLab