GraphicsOptions: Graphic Output Options in ChemoSpec and ChemoSpec2D

GraphicsOptionsR Documentation

Graphic Output Options in ChemoSpec and ChemoSpec2D


In ChemoSpec and ChemoSpec2D, the user may chose from the following graphics output options:

  • base graphics (also the only style from the early days of ChemoSpec through version 5).

  • ggplot2 graphics, the default.

  • plotly graphics.


Here's how it works:

  • Upon starting ChemoSpec or ChemoSpec2D the graphics output mode is set to ggplot2.

  • To see the current value, do chkGraphicsOpt. If by some chance the value is corrupted it will be set to base.

  • To change the graphics output mode, do options(ChemoSpecGraphics = 'option'), where 'option' is one of the options listed above.

  • ggplot2 graphics are not available for all plots. If ggplot2 graphics are not available, base graphics will be automatically used, regardless of the setting in options(ChemoSpecGraphics).

What you can do with your plots:

  • Base graphics are the original graphics option in R. They cannot be modified.

  • For ggplot2 graphics, ChemoSpec and ChemoSpec2D employ theme_bw with only a very few modifications. You can add things to your plot, or override the theme used here via the usual ggplot2 methods. A few simple examples are given below but this is not the place for a ggplot2 tutorial. See for all things ggplot2.

  • plotly graphics is an interactive graphics option where the user can use the tools provided by plotly package and interact with the plot.


Bryan A. Hanson (DePauw University), Tejasvi Gupta.


if (checkForPackageWithVersion("ChemoSpec", 6.0)) {

  # Using the default ggplot2 graphics
  p1 <- plotSpectra(metMUD1,
    which = c(10, 11), yrange = c(0, 1.5),
    offset = 0.06, amplify = 10, lab.pos = 0.5)

  # Modifying ggplot2 graphics
  # Add a title
  p2 <- p1 + ggtitle("metMUD1 NMR Data")

  # Zoom the axes
  p3 <- p1 + coord_cartesian(xlim = c(1.5, 2.0))

  # Change the ggplot2 theme
  p4 <- p1 + theme_gray() + theme(legend.position = "none")

  # plotLoadings uses patchwork, whose plots are modified differently
  if (requireNamespace("patchwork", quietly = TRUE)) {
    pca <- c_pcaSpectra(metMUD1)
    p5 <- plotLoadings(metMUD1, pca, loads = c(1, 2))
    p6 <- p5 + patchwork::plot_annotation(title = "metMUD1 NMR Data")
    # but to change the theme on each subplot, use the & operator
    p7 <- p6 & theme_gray() # compare to p6 + theme_gray()

ChemoSpecUtils documentation built on May 31, 2023, 5:56 p.m.