Learn R Programming

aqp (version 1.0)

panel.depth_function: Lattice Panel Function for Soil Profiles

Description

Panel function for plotting grouped soil property data, along with upper and lower estimates of uncertainty.

Usage

panel.depth_function(x, y, id, upper = NA, lower = NA, 
subscripts = NULL, groups = NULL, sync.colors=FALSE, cf=NULL, ...)

Arguments

x
x values (generated by calling lattice function)
y
y values (generated by calling lattice function)
id
vector of id labels, same length as x and y--only required when plotting segments (see Details section)
upper
vector of upper confidence envelope values
lower
vector of lower confidence envelope values
subscripts
paneling indices (generated by calling lattice function)
groups
grouping data (generated by calling lattice function)
sync.colors
optionally sync the fill color within the region bounded by (lower--upper) with the line colors
cf
optionally annotate contributing fraction data at regular depth intervals see slab
...
further arguments to lower-level lattice plotting functions, see below

Details

This function can be used to replace panel.superpose when plotting depth function data.

References

http://casoilresource.lawr.ucdavis.edu/

See Also

sp1

Examples

Run this code
library(lattice)
data(sp1)

# 1. plotting mechanism for step-functions derived from soil profile data
xyplot(cbind(top,bottom) ~ prop, data=sp1,id=sp1$id,
panel=panel.depth_function, ylim=c(250,-10), 
scales=list(y=list(tick.number=10)), xlab='Property', 
ylab='Depth (cm)', main='panel.depth_function() demo'
)

# 1.1 include groups argument to leverage lattice styling framework
sp1$group <- factor(sp1$group, labels=c('Group 1', 'Group2'))

xyplot(cbind(top,bottom) ~ prop, groups=group, data=sp1, id=sp1$id,
panel=panel.depth_function, ylim=c(250,-10), 
scales=list(y=list(tick.number=10)), xlab='Property', 
ylab='Depth (cm)', main='panel.depth_function() demo',
auto.key=list(columns=2, points=FALSE, lines=TRUE),
par.settings=list(superpose.line=list(col=c('Orange','RoyalBlue')))
)


# 2. plotting upper/lower envelope around some value, by depth:
# profile data are aggregated ("slotted") by 1cm depth slices
a <- soil.slot(sp1)

# manually add mean +/- SD
a$upper <- with(a, p.mean+p.sd)
a$lower <- with(a, p.mean-p.sd)

# use custom plotting function for uncertainty viz.
xyplot(top ~ p.mean, data=a, 
lower=a$lower, upper=a$upper, ylim=c(250,-5), alpha=0.5, 
panel=panel.depth_function, 
prepanel=prepanel.depth_function
)

Run the code above in your browser using DataLab