New Geometry – Ternary Errorbars

ggtern 1.0.3.1 has introduced a new series of geometries to represent known errors in data, they are relatively easy to use and are along the lines of the geom_errorbar(...) and geom_errorbarh(...) geometries in ggplot2.

Analagous the errorbars in ggplot2, in ggtern, the new geometries [and additional required mappings] are thus listed as follows:

  • geom_errorbarT(…) [Tmin, Tmax]
  • geom_errorbarL(…) [Lmin, Lmax]
  • geom_errorbarR(…) [Rmin, Rmax]

These three geometries represent errors relative to the Top, Left and Right apex species, respectively.

Example of Ternary Errorbar Usage

To start with, let us prepare some data:

# Load the data
data(Feldspar)
IX = c('Ab', 'An', 'Or')
#Error bar width
width <- 0.01
#Create error data +- 5%
for (ix in IX) {
  Feldspar[, paste0(ix, '_min')] = pmax(Feldspar[, ix] - 0.05, 0)
  Feldspar[, paste0(ix, '_max')] = pmin(Feldspar[, ix] + 0.05, 1)
}
#Helper
mytitle <- function(x){
  ggtitle(paste('Demonstration of: geom_errorbar',x,'(...)',sep=""))
}
# Set the theme for subsequent plots
theme_set(theme_bw())

Top species error bars can be produced with the following:

ggtern(data = Feldspar, aes(x = Ab, y = An, z = Or)) + 
  geom_errorbarT(aes(Tmin = An_min, Tmax = An_max, width = width), 
                 color = 'darkred') + 
  geom_point() + mytitle("T")

plot of chunk unnamed-chunk-3

Left species error bars can be produced in exactly the same manner:

ggtern(data = Feldspar, aes(x = Ab, y = An, z = Or)) + 
  geom_errorbarL(aes(Lmin = Ab_min, Lmax = Ab_max, width = width), 
                 color = 'darkblue') + 
  geom_point() + mytitle("L")

plot of chunk unnamed-chunk-4

Right species error bars, you guessed it, same again:

ggtern(data = Feldspar, aes(x = Ab, y = An, z = Or)) + 
  geom_errorbarR(aes(Rmin = Or_min, Rmax = Or_max, width = width), 
                 color = 'darkgreen') + 
  geom_point() + mytitle("R")

plot of chunk unnamed-chunk-5

Voila!

Facebooktwittergoogle_plusredditlinkedinmail
Comments
  1. Andy
    • Andy
      • Nicholas Hamilton

Leave a Reply

Your email address will not be published. Required fields are marked *