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


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.


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


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

comments powered by Disqus