| plotc | R Documentation |
plotc plots intensities of a hyperSpec object over another
dimension such as concentration, time, or a spatial coordinate.If func is not NULL, the summary characteristic is calculated
first by applying func with the respective arguments (in
func.args) to each of the spectra. If func returns more than
one value (for each spectrum), the different values end up as different
wavelengths.
plotc(
object,
model = spc ~ c,
groups = NULL,
func = NULL,
func.args = list(),
...
)
object |
the |
model |
the lattice model specifying the plot |
groups |
grouping variable, e.g. |
func |
function to compute a summary value from the spectra to be plotted instead of single intensities |
func.args |
further arguments to |
... |
further arguments to |
If the wavelength is not used in the model specification nor in
groups, nor for specifying subsets, and neither is
func given, then only the first wavelength's intensities are plotted
and a warning is issued.
The special column names .rownames and .wavelength may be
used.
The actual plotting is done by xyplot.
C. Beleites
xyplot
## example 1: calibration of fluorescence
plotc (flu) ## gives a warning
plotc (flu, func = mean)
plotc (flu, func = range, groups = .wavelength)
plotc (flu[,,450], ylab = expression (I ["450 nm"] / a.u.))
calibration <- lm (spc ~ c, data = flu[,,450]$.)
summary (calibration)
plotc (flu [,, 450], type = c("p", "r"))
conc <- list (c = seq (from = 0.04, to = 0.31, by = 0.01))
ci <- predict (calibration, newdata = conc, interval = "confidence", level = 0.999)
panel.ci <- function (x, y, ...,
conc, ci.lwr, ci.upr, ci.col = "#606060") {
panel.xyplot (x, y, ...)
panel.lmline (x, y,...)
panel.lines (conc, ci.lwr, col = ci.col)
panel.lines (conc, ci.upr, col = ci.col)
}
plotc (flu [,, 450], panel = panel.ci,
conc = conc$c, ci.lwr = ci [, 2], ci.upr = ci [, 3])
## example 2: time-trace of laser emission modes
cols <- c ("black", "blue", "#008000", "red")
wl <- i2wl (laser, c(13, 17, 21, 23))
plotspc (laser, axis.args=list (x = list (at = seq (404.5, 405.8, .1))))
for (i in seq_along (wl))
abline (v = wl[i], col = cols[i], lwd = 2)
plotc (laser [,, wl], spc ~ t, groups = .wavelength, type = "b",
col = cols)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.