# loa

### Description

The loa package contains various plots, options and
add-ins for use with the `lattice`

package.

### Details

Package: | loa |

Type: | Package |

Version: | 0.2.39 |

Date: | 2016-06-14 |

License: | GPL (>= 2) |

LazyLoad: | yes |

`lattice`

provides an elegant and highly powerful implementation
of the Trellis plotting structure described by Cleveland and colleagues.
In particular the combination of `panel...`

functions, which can be
layered within plots to generate novel visualisations, and simple-to-use
conditioning make it a hugely effective tool when working with data.

The `loa`

package contains a number of plot functions developed to make
use of this framework. These are summarized in section 1 of this manual, and include:

1.1. `loaPlot`

for various XYZ plots.

1.2. `GoogleMap`

and associated geoplotting functions.

1.3. `trianglePlot`

and associated functions.

1.4. `stackPlot`

and associated functions.

Other `panel...`

functions and example data are summarized in sections 2 and
3, respectively:

2.1. Specialist panels, e.g. `panel.kernelDensity`

,

2.2. Specialist panels for polar plotting, e.g. `panel.polarPlot`

.

3.1. Example data, e.g. `lat.lon.meuse`

.

While such 'stand alone' plot functions are of obvious value, the code framework is of possibly wider interest because it provides a template for the rapid third-party development of novel visualization functions and a highly flexible 'test bed' for the comparison of different data handling strategies.

Therefore, the functions in this package have been written in a relatively dissaggregated
fashion so code can be easily rearranged or modified by others to quickly develop
alternative plots within the `lattice`

framework. Firstly, plot functions
in section 1 have where possible been supplied as main plot functions and plot component
functions that handle data, axes, panels, etc. Secondly, the workhorse functions, those common
functions used through-out the package to simplify many routine operations have been grouped
together and summarized in section 4:

4.1. `panelPal`

4.2. plot structure handlers: `formulaHandler`

, etc.

4.3. Plot lim(s) and scale(s) handlers: `limsHandler`

, `localScalesHandler`

, etc.

4.4. Plot conditioning handlers: `condsPanelHandler`

, etc.

4.5. Common plot argument handlers: `cexHandler`

, `colHandler`

,
`zHandler`

, etc.

4.6. Key handlers: `keyHandler`

, etc.

4.7. Other panel functions: `getArgs`

, etc.

4.8. List handlers: `listHandler`

, etc.

And, finally, functions used for working with data post-plotting, are summarized in section 5:

5.1. Interactive functions for working with plot outputs: `getXY`

, etc.

This package is very much intended to be an evolutionary exercise. I use it on a routine basis to develop plots for use elsewhere and compare data visualization methods. However, that working pattern can generate some very 'developer-centric' code. So, I would be very pleased to hear from others - what they did and did not like about the package; what they would have liked to have been different; and, perhaps most interesting for me what they are using it to do.

### Author(s)

Karl Ropkins <k.ropkins@its.leeds.ac.uk>

### References

Functions in `loa`

make extensive use of code developed by others.
In particular, I gratefully acknowledge the huge contributions of:

lattice: Sarkar, Deepayan (2008) Lattice: Multivariate Data Visualization with R. Springer, New York. ISBN 978-0-387-75968-5

Trellis Plotting: Becker, R. A., Cleveland, W. S., Shyu, M. J. (1996). The Visual Design and Control of Trellis Display, Journal of Computational and Graphical Statistics, 5(2), 123-155. Cleveland, W.S. (1993) Visualizing Data, Hobart Press, Summit, New Jersey.

### See Also

`loaPlot`

, `GoogleMap`

, `trianglePlot`