ggspectra-package | R Documentation |
Additional annotations, stats, geoms and scales for plotting "light" spectra with 'ggplot2', together with specializations of ggplot() and autoplot() methods for spectral data and waveband definitions stored in objects of classes defined in package 'photobiology'. Part of the 'r4photobiology' suite, Aphalo P. J. (2015) \Sexpr[results=rd]{tools:::Rd_expr_doi("10.19232/uv4pb.2015.1.14")}.
Package 'ggspectra' provides a set of layer functions and
autoplot()
methods extending packages 'ggplot2' and 'photobiology'.
The autoplot()
methods specialised for objects of classes defined in
package 'photobiology' facilitate in many respects the plotting of spectral
data. The ggplot()
methods specialised for objects of classes
defined in package 'photobiology' combined with the new layer functions and
scales easy the task of flexibly plotting radiation-related spectra and of
annotating the resulting plots.
These methods, layer functions and scales are
specialized and work only with certain types of data and ways of expressing
physical quantities. Most importantly, all statistics expect the
values mapped to the x
aesthetic to be wavelengths expressed in
nanometres (nm), which is ensured when the data are stored in data objects
of classes defined in package 'photobiology'. The support for scale transforms
is manual and only partial. Flipping is not supported.
Although originally aimed at plots relevant to photobiology, many of the functions in the package are also useful for plotting other UV, VIS and NIR spectra of light emission, transmittance, reflectance, absorptance, and responses.
The available summary quantities are both simple statistical summaries and response-weighted summaries. Simple derived quantities represent summaries of a given range of wavelengths, and can be expressed either in energy or photon based units. Derived biologically effective quantities are used to quantify the effect of radiation on different organisms or processes within organisms. These effects can range from damage to perception of informational light signals. Additional features of spectra may be important and worthwhile annotating in plots. Of these, local maxima (peaks), minima (valleys) and spikes present in spectral data can also be annotated with statistics from 'ggspectra'.
Package 'ggspectra' is useful solely for plotting spectral data as most
functions depend on the x
aesthetic being mapped to a variable containing
wavelength values expressed in nanometres. It works well together with
many other extensions to package 'ggplot2' such as packages 'ggrepel',
'gganimate' and 'cowplot'.
This package is part of a suite of R packages for photobiological calculations described at the [r4photobiology](https://www.r4photobiology.info) web site.
This package makes use of the new features of 'ggplot2' >= 2.0.0 that make writing this kind of extensions easy and is consequently not compatible with earlier versions of 'ggplot2'.
Maintainer: Pedro J. Aphalo pedro.aphalo@helsinki.fi (ORCID)
Other contributors:
Titta K. Kotilainen (ORCID) [contributor]
Aphalo, Pedro J. (2015) The r4photobiology suite. UV4Plants Bulletin, 2015:1, 21-29. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.19232/uv4pb.2015.1.14")}.
ggplot2
web site at https://ggplot2.tidyverse.org/
ggplot2
source code at https://github.com/tidyverse/ggplot2
Function multiplot
from http://www.cookbook-r.com/
Useful links:
Report bugs at https://github.com/aphalo/ggspectra/issues/
library(photobiologyWavebands)
ggplot(sun.spct) +
geom_line() +
stat_peaks(span = NULL)
ggplot(sun.spct, aes(w.length, s.e.irrad)) +
geom_line() +
stat_peaks(span = 21, geom = "point", colour = "red") +
stat_peaks(span = 51, geom = "text", colour = "red", vjust = -0.3,
label.fmt = "%3.0f nm")
ggplot(polyester.spct, range = UV()) + geom_line()
autoplot(sun.spct)
autoplot(polyester.spct,
UV_bands(),
range = UV(),
annotations = c("=", "segments", "labels"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.