Additional annotations, stats and scales for plotting "light" spectra with 'ggplot2', together with specializations of ggplot() and plot() methods for spectral data stored in objects of the classes defined in package 'photobiology' and a plot() method for objects of class "waveband", also defined in package 'photobiology'.
ggspectra is a set of stats, geoms and functions to be used together with packages
photobiology for plotting radiation-related spectra and annotating the plots with quantities derived from spectral data. Unweighted derived quantities represent summaries of a given range of wavelengths, which 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. Peaks and valleys present in spectral data can also be annotated. Color-patch charts can also be created based on any R color definitions, including those generated from wavelengths and visual response functions with functions in package
This package uses the new functionality added to
ggplot2 at version 2.2.0 and is not compatible with earlier versions.
Please, see the web site r4photobiology for details on other packages available as part of the suite, and on how to install them.
Improve handling of annotations parameter in plot() methods. Add functions ggcolorchart() and black_or_white(). Add statistics stat_wb_box() and stat_wb_column() with "rect" as default geom and stat_wb_hbar() with "errorbarh" as default geom. Change default geom from "rect" to "text" in all the summary stats for spectra. Update stats with "text" as default geom to use an additional variable BW.color computed by black_or_white() as default mapping for color. As default geoms and color mapping have changed, this update can break existing code. Changes to plot() methods are backwards compatible but default color of some text labels is changed from "white" to "black" to improve readability, and fewer peaks and valleys are highlighted by default. In addition more ticks marks are used on the wavelength axis. Fix minor bugs in handling of color mapping. Update documentation.
Import ggplot2 in whole as only the most basic use of plot() methods would not require user access to 'ggplot2'. Add stat_label_peaks() and stat_label_valleys() which are designed to fully take advantage of 'geom_text_repel()' and 'geom_label_repel()' as revised in package 'ggrepel' (>= 0.6.3). Change behaviour of plot() methods so that "illegal" values such as negative spectral irradiances or transmittances are plotted by default. Fix several minor bugs affecting plot() methods with certain non-default sets of annotations. Improve documentation and vignettes.
Add code to maintain same stacking order under ggplot2 1.1.0, 2.0.0, 2.1.0, and 2.1.9000 in plot.object_spct().
Add support for na.rm to all plot() methods setting default to TRUE, and avoid triggering spurious warnings from internal code. Make default for parameter 'label.qty' in plot methods dependent on whether data are expressed in absolute units or have been rescaled or normalized. Move from the 'User Guide' the sections on plot() methods creating a new vignette titled 'Plot Methods'.
Add support for plot.qty = "absorptance" to plot.filter_spct() Add support for plot.qty to plot.object_spct() with possible values: "all" or NULL (previous behaviour, and current default), "transmittance", "absorbance", "absorptance", and "reflectance". The new options plot only one quantity at a time as a line instead of the default area plot.
Add stat_wb_label(), stat_wb_e_irrad(), stat_wb_q_irrad(), stat_wb_e_sirrad(), and stat_wb_q_irrad(). Revise plot.raw_spct() to handle multiple "counts" columns. Revise plot.cps_spct() to handle multiple "cps" columns. Add text.size parameter to all plot() methods. Can be used to control the size of the font used for text decorations related to wavebands, peaks and valleys. Increase slightly the default font size for plot decorations, and decrease the number of peaks and valleys labelled by the plot() methods. Fix existing bug revealed by dplyr update. Fix bug in decoration() affecting plot.objects_spct(). Fix other minor bugs.
Clean documentation and code for CRAN submission. Add examples of plotting of waveband objects as these were removed from the vignette of package 'photobiologyWavebands'.
Fix bug in documentation.
Remove wb_guide() Remove wb_wb_summary() Add stat_wb_mean(), stat_wb_total(), stat_wb_contribution(), stat_wb_relative() Add stat_wb_irrad(), stat_wb_sirrad()
Implement 100% of the old functionality of the plot() methods, but without using any annotations. In other words, now all calculations work as expected with grouping and panels. Some aesthetics may require tweaking in the case of grouping.
Tested with packages ggrepel and cowplot.
Add text explaining examples to User Guide.
Rename several stats and functions with more descriptive names.
stat_color_guide() -> stat_wl_strip() stat_average() -> stat_wl_summary() stat_waveband() -> stat_wb_summary() color_guide() -> wl_guide() waveband_guide() -> wb_guide()
Add multiplot() function (unchanged from package photobiologygg). Improve stat_waveband(). Add color_guide(), waveband_guide().
Add ggplot() methods for spectra, which use default mappings if mapping not explicitly supplied as argument to call.
Make plot() methods almost fully functional. "contribution" and "participation" summary values not yet implemented. Neither summaries for BSWFs. If requested these summaries will show as "NaN" (not a number) in the plots.
First preview version. Still with incomplete functionality.