ggspectra 0.3.0


Occasional R crashes when stat_label_peaks() and stat_label_valleys() are used together with ggrepel::geom_label_repel(). This is a bug in ‘ggrepel’ (= 0.8.0) at least under Windows with long vectors of labels. The bug affects these stats and the "label.peaks" and "label.valleys" annotations in all plot() methods. The bug has been reported and the author is working on a fix.

Revise to track changes in ‘photobiology’ version 0.9.24 and ‘ggplot2’ 3.0.0, which are now required.

The changes from version 0.2.4, the current CRAN release, are:

Code breaking change!

Change the names of some the values calculated by the stats defined in ‘ggspectra’ to avoid confusion with the names of ‘ggplot2’ aesthetics. (This breaks old code only if any of the renamed variables has been manually mapped using aes(), which is rather unlikely.)

Other non-code breaking changes

  • stat_label_peaks() and stat_label_valleys() now have a new parameter, label.fill which can be used to set the content of ..x.label.. and ..y.label.. for labels not labelled as peaks or valleys. The earlier default of "" is maintained.
  • Add the new stat_find_wls() and stat_find_qtys(), two new statistics useful for highlighting features in spectra.
  • Add parameter ylim to all plot() methods. By default previous behaviour is preserved.
  • Revise plot() methods to support objects with multiple spectra in long form.
  • Revise plot() methods to NOT display by default calculated numerical summaries in annotations when a plot contains multiple spectra.
  • Revise plot() methods to retrieve and validate the name of the factor used to identify multiple spectra, using as default the value stored in the attribute "idfactor" implemented in ‘photobiology’ 0.9.21 and later.
  • Add autoplot() as an alias of plot() for spectra and collections of spectra.

Documentation web site at

NOTE: The updated package has been submitted to CRAN.

Please raise issues concerning bugs or enhancements to this package through Bitbucket at

One Comment

  1. Pedro J. Aphalo

    I have found a bug in the plot() methods for source_spct and response_spct classes. Attempting to plot any data with time.unit different from "second" will fail. The bug is already fixed and I will upload a new version very soon here, and after further testing to submit it to CRAN.

Leave a Reply