https://github.com/aphalo/ggspectra
R package 'ggspectra' (from r4photobiology suite)
https://github.com/aphalo/ggspectra
dataviz ggplot2-autoplot ggplot2-enhancementes ggplot2-geoms ggplot2-scales ggplot2-stats light r4photobiology-suite radiation spectra
Last synced: 5 months ago
JSON representation
R package 'ggspectra' (from r4photobiology suite)
- Host: GitHub
- URL: https://github.com/aphalo/ggspectra
- Owner: aphalo
- Created: 2021-01-05T23:15:04.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-12-29T22:52:11.000Z (6 months ago)
- Last Synced: 2025-12-31T17:43:19.133Z (6 months ago)
- Topics: dataviz, ggplot2-autoplot, ggplot2-enhancementes, ggplot2-geoms, ggplot2-scales, ggplot2-stats, light, r4photobiology-suite, radiation, spectra
- Language: HTML
- Homepage: https://docs.r4photobiology.info/ggspectra
- Size: 151 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
Awesome Lists containing this project
README
---
output: github_document
---
```{r, echo = FALSE}
knitr::opts_chunk$set(
fig.asp = 2/3,
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-"
)
```
# ggspectra
## Extensions to 'ggplot2' for Radiation Spectra
[](https://cran.r-project.org/package=ggspectra)
[](https://cran.r-project.org/web/checks/check_results_ggspectra.html)
[](https://aphalo.r-universe.dev/ggspectra)
[](https://github.com/aphalo/ggspectra/actions)
[](https://docs.r4photobiology.info/ggspectra/)
[](https://doi.org/10.32614/CRAN.package.ggspectra)
The goal of 'ggspectra' is to make it easy to plot radiation spectra and similar data, such and transmittance, absorbance and reflectance spectra, producing fully annotated publication- and presentation-ready plots. It is an extension to packages 'ggplot2' and 'photobiology', and part of the 'r4photobiology' suite.
Package 'ggspectra' provides stats, geoms, scales and functions to be used for plotting radiation-related spectra and annotating the plots with quantities derived from spectral data. All summary quantities implemented in 'photobiology' can be used for annotations including biologically effective irradiances and exposures.
Please, see the web page [The R for Photobiology Suite](https://www.r4photobiology.info/pages/r4p-introduction.html) for an overview of the component packages.
## Examples
Plotting spectra with an specialization of the `autoplot()` method provides the most automatic approach. The specializations provided support the classes defined in package 'photobiology', both for individual spectra and for collections of spectra.
```{r example0, message=FALSE}
library(ggspectra)
autoplot(sun.spct)
```
Some degree of flexibility can be obtained by passing arguments.
```{r example1}
autoplot(sun.spct, annotations = c("+", "title:where:when"), unit.out = "photon")
```
Maximum flexibility is achieved when building a plot layer by layer using the grammar of graphics approach, as implemented in 'ggplot2', but taking advantage of the specialized `ggplot()` methods, _geometries_, _statistics_ and _scales_ specialized for the plotting of spectra, defined in this package. Although designed with the classes defined from package 'photobiology' in mind, geometries, statistics and scales can also be used with data stored in other formats, as long as the user pays attention to the expected units and bases of expression expected.
```{r example2, message=FALSE}
ggplot(sun.spct, unit.out = "photon") +
geom_spct() +
scale_y_s.q.irrad_continuous() +
scale_x_wl_continuous(sec.axis = sec_axis_w_number()) +
theme_bw()
```
## Installation
Installation of the most recent stable version from CRAN:
```{r cran-instalaltion, eval=FALSE}
install.packages("ggspectra")
```
Installation of the current unstable version from GitHub:
```{r bb-instalaltion, eval=FALSE}
# install.packages("remotes")
remotes::install_github("aphalo/ggspectra")
```
## Documentation
HTML documentation is available at (https://docs.r4photobiology.info/ggspectra/), including additional on-line-only articles.
News on updates to the different packages of the 'r4photobiology' suite are regularly posted at (https://www.r4photobiology.info/).
Two articles introduce the basic ideas behind the design of the suite and its use:
Aphalo P. J. (2015) (https://doi.org/10.19232/uv4pb.2015.1.14) and Aphalo P. J. (2016) (https://doi.org/10.19232/uv4pb.2016.1.15).
A book is under preparation, and the draft is currently available at (https://leanpub.com/r4photobiology/). The book contains many examples of plots created with 'ggspectra'.
A handbook written before the suite was developed contains useful information on the quantification and manipulation of ultraviolet and visible radiation:
Aphalo, P. J., Albert, A., Björn, L. O., McLeod, A. R., Robson, T. M., & Rosenqvist, E. (Eds.) (2012) Beyond the Visible: A handbook of best practice in plant UV photobiology (1st ed., p. xxx + 174). Helsinki: University of Helsinki, Department of Biosciences, Division of Plant Biology. ISBN 978-952-10-8363-1 (PDF), 978-952-10-8362-4 (paperback). PDF file available from (https://doi.org/10.31885/9789521083631).
## Contributing
Pull requests, bug reports, and feature requests are welcome at (https://github.com/aphalo/ggspectra).
## Citation
If you use this package to produce scientific or commercial publications, please cite according to:
```{r}
citation("ggspectra")
```
## License
© 2015-2025 Pedro J. Aphalo (pedro.aphalo@helsinki.fi). Released under the GPL, version 2 or greater. This software carries no warranty of any kind.