..-
help for ^loopplot^
..-

Scatter plots with loops - ------------------------

^loopplot^ varlist [weight] [^if^ exp] [^in^ range] [^,^ graph_options]

Description - -----------

^loopplot^ produces a scatter or twoway plot for varlist, in which ^connect(l)^ has the effect of producing a loop: the last data point is joined to the first. This is achieved by temporarily appending one or more extra observations to the data set that copy the first relevant non-missing observation for each loop.

Options - -------

graph_options are options allowed with ^graph, twoway^, including ^by()^. ^sort^ is allowed but ignored.

Remarks - -------

There are some known side-effects of appending extra observations:

^sy([_n])^ is marred by overwriting of ^_n^ for the first observation and its copy. The correct effect can be achieved by

. ^gen id = _n^ . ^loopplot y x, c(l) sy([id])^

There are various small or large effects on other ^connect^ options.

Suppose there are several variables to be plotted on the y axis. Each variable should define just one loop. (If any variable specifies more than one loop, there would be spurious connections between them.) Suppose we have four loops defined by

^y1^ and ^x1^ ^y2^ and ^x2^ ^y3^ and ^x3^ ^y4^ and ^x4^

then to meet the Stata rule that only one variable can be plotted on the x axis it is necessary to pack the four x variables into one. A satisfactory data structure to start with is

^y1 . . . x1^ ^. y2 . . x2^ ^. . y3 . x3^ ^. . . y4 x4^

stacked into

^Y1 Y2 Y3 Y4 X^

Here the ^.^ represent blocks of missing values. This data structure could be produced by using ^stack^, or by direct entry of the data.

Examples - --------

. ^loopplot rain temp, c(l)^ . ^loopplot rain temp, c(l) by(station)^

Author - ------

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

Also see - --------

On-line: help for @graph@