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.