The loa package contains various plots, options and
add-ins for use with the lattice
package.
Karl Ropkins <k.ropkins@its.leeds.ac.uk>
Package: | loa |
Type: | Package |
Version: | 0.3.1.1 |
Date: | 2024-12-20 |
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. loaMapPlot
and associated geoplotting functions.
1.3. trianglePlot
and associated functions.
1.4. stackPlot
and associated functions.
1.5. loaBarPlot
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.
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.
loaPlot
, loaMapPlot
, trianglePlot