# ternaryAxis: Axis for ternary diagrams In compositions: Compositional Data Analysis

## Description

Displaying compositions in ternary diagrams

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16``` ```ternaryAxis(side=1:3,at=seq(0.2,0.8,by=0.2), labels=if(is.list(at)) lapply(at,format) else format(at), ..., tick=TRUE,pos=0, font.axis=par("font.axis"), font.lab=par("font.lab"), lty="solid",lwd=1, len.tck=0.025,dist.lab=0.03, dist.axis=0.03, lty.tck="solid", col.axis=par("col.axis"), col.lab=par("col.lab"), cex.axis=par("cex.axis"), cex.lab=par("cex.lab"), Xlab=NULL,Ylab=NULL,Zlab=NULL,small=TRUE, xpd=NA,aspanel=FALSE) ```

## Arguments

 `side` a vector giving the sides to draw the axis on. 1=under the plot, 2=the upper right axis, 3=the upper left axis. -1 is the portion axis of the first component, -2 is the portion axis of the second component, -3 is the portion axis of the third component. An empty vector or 0 suppresses axis plotting, but still plots the Xlab, Ylab and Zlab parameters. `at` a vector or a list of vectors giving the positions of the tickmarks. `labels` a vector giving the labels or a list of things that can serve as graphics annotations. Each element of the list is than sean as the labels for one of axes. IMPORTANT: if plotting formulae enclose the list of labels into a list. `tick` a logical whether to draw the tickmark lines `pos` the portion of the opposite component to draw the axis on. Proportion axss shrinks, when pos>0 ! `font.axis` the font for the axis annotations `font.lab` the font for the variable labels `lty` the line type of the axis line. (see `par`). NA supresses plotting. `lty.tck` the line type of the tickmarks. NA suppresses plotting. `len.tck` the line length of the tickmarks. `dist.axis` the distance of the variable labels from the axes. Positve values point outward from the plot. `dist.lab` the distance of the axes labels from the axes. Positve values point outward from the plot. `lwd` the line widths of axis line and tickmarks. (see `par`) `col.axis` the color to plot the axis line, the tickmarks and the axes labels. `col.lab` the color to plot the variable labels. `cex.axis` The character size to plot the axes labels. (see `par`) `cex.lab` The character size for the variable labels `Xlab` the label for the lower left component. `Ylab` the label for the lower right component. `Zlab` the label for the upper component. `small` wether to plot the lower labels under the corners `xpd` Extended plotting region. See (see `par`). `aspanel` Is this called as a slave to acutally plot the axis (TRUE), or as a user level function to instatiate the axis (FALSE). `...` further graphical that might be of use for other functions, but are silently ignored here

## Details

This function has two uses. If called with `aspanel=TRUE` it acutally draws the axes to a panel. In other cases it tries to modify the axes argument of the current plot to add the axis. I.e. it will force a replotting of the plot with the new axes settings. Thus an old axes is removed.

To ensure that various axes can be drawn with various parameters most of the arguments can take a vector or list of the same length as `side` providing the different parameters for each of the axes to be drawn.

There are two types of axes: Proportion axes (1:3) and portions axes (-1:-3). The best place to draw a Proportion axes is pos=0, which is the standard for axis in ternary diagrams. Portion axes are best drawn at `pos=0.5` in the middle of the plot.

## Author(s)

K.Gerald v.d. Boyogaart http://www.stat.boogaart.de, Raimon Tolosana-Delgado

`plot.aplus`, `plot3D` (for 3D plot), `kingTetrahedron` (for 3D-plot model export), `qqnorm.acomp`,`boxplot.acomp`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```data(SimulatedAmounts) plot(acomp(sa.lognormals),axes=TRUE) ternaryAxis(side=1:3,pos=0,col.axis="red",col.lab="green") ternaryAxis(side=1:3,at=1:9/10, labels=expression(9:1,4:1,7:3,3:2,1:1,2:3,3:7,1:4,1:9), pos=0,col.axis="red",col.lab="green") ternaryAxis(side=rep(-1:-3,3),labels=paste(seq(20,80,by=20),"%"), pos=rep(c(0,0.5,1),each=3),col.axis=1:3,col.lab="green") ternaryAxis(side=rep(1:3,3),at=1:9/10, labels=expression(9:1,4:1,7:3,3:2,1:1,2:3,3:7,1:4,1:9), pos=rep(c(0,0.5,1),each=3)) plot(acomp(sa.lognormals5),axes=TRUE) ternaryAxis(side=1:3,pos=0,col.axis="red",col.lab="green") ternaryAxis(side=1:3,at=1:9/10, labels=expression(9:1,4:1,7:3,3:2,1:1,2:3,3:7,1:4,1:9), pos=0,col.axis="red",col.lab="green") ```