Plotting Spectra Plot the spectra of a hyperSpec object, i.e. intensity over wavelength. Instead of the intensity values of the spectra matrix summary values calculated from these may be used.
This is hyperSpec
's main plotting function for spectra plots.
Usually, the stacked
argument of plotspc
will do fine, but if you
need fine control over the stacking, you may calculate the y offsets yourself.
plotspc( object, wl.range = TRUE, wl.index = FALSE, wl.reverse = FALSE, spc.nmax = hy.getOption("plot.spc.nmax"), func = NULL, func.args = list(), stacked = NULL, stacked.args = list(), add = FALSE, bty = "l", plot.args = list(), col = "black", lines.args = list(), xoffset = 0, yoffset = 0, nxticks = 10, axis.args = list(), break.args = list(), title.args = list(), fill = NULL, fill.col = NULL, border = NA, polygon.args = list(), zeroline = list(lty = 2, col = col), debuglevel = hy.getOption("debuglevel") ) stacked.offsets( x, stacked = TRUE, min.zero = FALSE, add.factor = 0.05, add.sum = 0, .spc = NULL, debuglevel = hy.getOption("debuglevel") )
object |
the |
wl.range |
the wavelength range to be plotted. Either a numeric vector or a list of vectors with different wavelength ranges to be plotted separately. The values can be either wavelengths or wavelength indices (according to
|
wl.index |
if |
wl.reverse |
if |
spc.nmax |
maximal number of spectra to be plotted (to avoid accidentally plotting of large numbers of spectra). |
func |
a function to apply to each wavelength in order to calculate summary spectra such as mean, min, max, etc. |
func.args |
|
stacked |
if not |
stacked.args |
a list with further arguments to
|
add |
if |
bty |
see |
plot.args |
|
col |
see |
lines.args |
list with further arguments to
|
xoffset |
vector with abscissa offsets for each of the
The values are interpreted as the distance along the wavelength axis that
the following parts of the spectra are shifted towards the origin. E.g.
if |
yoffset |
ordinate offset values for the spectra. May be offsets to
stack the spectra ( |
nxticks |
hint how many tick marks the abscissa should have. |
axis.args |
|
break.args |
list with arguments for
|
title.args |
list with further arguments to
|
fill |
if not If |
fill.col |
character vector with fill color. Defaults to brightened
colors from |
border |
character vector with border color. You will need to set the
line color |
polygon.args |
list with further arguments to
|
zeroline |
|
debuglevel |
if > 0, additional debug output is produced,
see |
x |
a |
min.zero |
if |
add.factor, add.sum |
proportion and absolute amount of space that should be added. |
.spc |
for internal use. If given, the ranges are evaluated on |
If package plotrix is available, its function
axis.break
is used to produce break marks for cut
wavelength axes.
Empty levels of the stacking factor are dropped (as no stacking offset can be calculated in that case.)
plotspc
invisibly returns a list with
x |
the abscissa coordinates of the plotted spectral data points |
y |
a matrix the ordinate coordinates of the plotted spectral data points |
wavelengths |
the wavelengths of the plotted spectral data points |
This can be used together with spc.identify
.
a list containing
offsets |
numeric with the yoffset for each group in
|
groups |
numeric with the group number for each spectrum |
levels |
if
|
C. Beleites
C. Beleites
axis.break
for cut marks
See plot
for some predefined spectra plots such as mean
spectrum +/- one standard deviation and the like.
plotspc (flu) ## artificial example to show wavelength axis cutting plotspc (chondro [sample (nrow (chondro), 50)], wl.range = list (600 ~ 650, 1000 ~ 1100, 1600 ~ 1700), xoffset = c (0, 300, 450)) plotspc (chondro [sample (nrow (chondro), 50)], wl.range = list (600 ~ 650, 1000 ~ 1100, 1600 ~ 1700), xoffset = c (300, 450)) ## some journals publish Raman spectra backwards plotspc (chondro [sample (nrow (chondro), 50)], wl.reverse = TRUE) plotspc (laser[(0:4)*20+1,,], stacked = TRUE) plotspc (laser, func = mean_pm_sd, col = c(NA, "red", "black"), lines.args = list (lwd = 2), fill = c (1, NA, 1), fill.col = "yellow", border = "blue", polygon.args = list (lty = 2, lwd = 4), title.args = list (xlab = expression (lambda[emission] / nm), y = list(line = 3.4), col.lab = "darkgreen"), axis.args = list (x = list (col = "magenta"), y = list (las = 1)) ) mean.pm.sd <- aggregate (chondro, chondro$clusters, mean_pm_sd) plot (mean.pm.sd, col = matlab.palette (3), fill = ".aggregate", stacked = ".aggregate") mean.pm.sd <- aggregate (chondro, chondro$clusters, mean_pm_sd) offset <- stacked.offsets (mean.pm.sd, ".aggregate") plot (mean.pm.sd, fill.col = matlab.palette (3), fill = ".aggregate", stacked = ".aggregate") plot (aggregate (chondro, chondro$clusters, mean), yoffset = offset$offsets, lines.args = list (lty = 2, lwd = 2), add = TRUE) barb <- do.call (collapse, barbiturates [1:3]) plot (barb, lines.args = list (type = "h"), stacked = TRUE, stacked.args = list (add.factor = .2))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.