help for circdplot

Raw data plot for circular data with point symbols

circdplot varname [if exp] [in range] [, clabel(label_specification) ctick(numlist) fudge(#) resultant(resultant_options) round(#) ticklength(#) unit(#) twoway_options ]


circdplot produces a raw data plot for varname with point symbols showing values. varname should be a circular variable taking on values between 0 and 360 degrees.

Strictly, the values of varname are rounded to the nearest degree, or to the argument of round(). Rays of point symbols are drawn outwards from the circumference of a circle pointing in each direction present in the data. The length of each ray is proportional to the frequency of that direction. The resultant or mean direction is indicated by an arrow from the centre of the circle with length the radius of the circle X the vector strength. Hence an arrow representing a mean direction with vector strength 1 would touch the circle.

The graph will usually best be shown with xsize() and ysize() equal, or nearly so. It may be helpful to know that the centre of the circle is at x = 0, y = 0 and that it has radius 1, so that the cardinal points North, East, South, West are at 0,1; 1,0; 0,-1; -1,0.


clabel() specifies labels to be shown inside the circle at angles measured clockwise from 0 (North) through 360 degrees. Single text labels may be specified within " " following each label. For example, the default is clabel(0 "N" 90 "E" 180 "S" 270 "W").

ctick() specifies positions of ticks to be shown inside the circle at angles measured clockwise from 0 (North) through 360 degrees.

fudge() specifies a fudge factor controlling the radial spacing of point symbols. Default 1 means that the outermost point symbol will be plotted at distance from the circle equal to the radius of that circle. # means maximum distance # X that radius. Most graphs will need some hand-tuning of fudge() for better appearance. See also round().

resultant() specifies options controlling the rendering of the arrow showing the resultant. In particular, arrowheadlength() specifies the arrowhead length (default 0.1). Otherwise, such options are typically appropriate connect_options.

round() indicates the bin or class width to be used (default 1 deg). See also fudge().

ticklength() specifies the tick length (default 0.05).

unit() specifies that a point symbol should represent at most # observations, which number should be >= 1. That is, unit(10) specifies that a point symbol should represent at most 10 observations. Strictly, frequencies in each bin will be rounded up to the nearest multiple of #, so that with unit(10) 1 to 10 observations would be represented by one point symbol, 11 to 20 two symbols, and so forth.

twoway_options are options of twoway. By default the subtitle() indicates the mean direction and vector strength and is at pos(6). Note that the degree symbol can be specified by `=char(176)'.


. circdplot wallasp, result(clcolor(blue) clw(thick)) round(2) fudge(0.25) ms(Oh) mcolor(red) text(-0.5 0 "Wall aspect", size(large)) . graph display, xsize(4) ysize(4)


Nicholas J. Cox, University of Durham, U.K. n.j.cox@durham.ac.uk

Also see

On-line: help for circrplot (if installed), circvplot (if installed)