ternaryplot {vcd} | R Documentation |
Visualizes compositional, 3-dimensional data in an equilateral triangle.
ternaryplot(x, scale = 1, dimnames = NULL, dimnames.position = c("corner","edge","none"), dimnames.color = "black", id = NULL, id.color = "black", coordinates = FALSE, grid = TRUE, grid.color = "gray", labels = c("inside", "outside", "none"), labels.color = "darkgray", border = "black", bg = "white", pch = 19, cex = 1, prop.size = FALSE, col = "red", main = "ternary plot", ...)
x |
a matrix with three columns. |
scale |
row sums scale to be used. |
dimnames |
dimension labels (defaults to the column names of
x ). |
dimnames.position, dimnames.color |
position and color of dimension labels. |
id |
optional labels to be plotted below the plot
symbols. coordinates and id are mutual exclusive. |
id.color |
color of these labels. |
coordinates |
if TRUE , the coordinates of the points are
plotted below them. coordinates and id are mutual exclusive. |
grid |
if TRUE , a grid is plotted. May optionally
be a string indicating the line type (default: "dotted" ). |
grid.color |
grid color. |
labels, labels.color |
position and color of the grid labels. |
border |
color of the triangle border. |
bg |
triangle background. |
pch |
plotting character. Defaults to filled dots. |
cex |
a numerical value giving the amount by which plotting text
and symbols should be scaled relative to the default. Ignored for
the symbol size if prop.size is not FALSE . |
prop.size |
if TRUE , the symbol size is plotted
proportional to the row sum of the three variables, i.e. represents
the weight of the observation. |
col |
plotting color. |
main |
main title. |
... |
additional graphics parameters (see par ) |
A points' coordinates are found by computing the gravity center of mass points using the data entries as weights. Thus, the coordinates of a point P(a,b,c), a + b + c = 1, are: P(b + c/2, c * sqrt(3)/2).
David Meyer
david.meyer@ci.tuwien.ac.at
M. Friendly (2000), Visualizing Categorical Data. SAS Institute, Cary, NC.
data(Arthritis) ## Build table by crossing Treatment and Sex tab <- as.table(xtabs(~ I(Sex:Treatment) + Improved, data = Arthritis)) ## Mark groups col <- c("red", "red", "blue", "blue") pch <- c(1, 19, 1, 19) ## plot ternaryplot( tab, col = col, pch = pch, prop.size = TRUE, bg = "lightgray", grid.color = "white", labels.color = "white", main = "Arthritits Treatment Data" ) ## legend legend(0.7, 0.8, c("GROUP", rownames(tab)), pch = c(NA, pch), col = c(NA, col) ) data(Lifeboats) attach(Lifeboats) ternaryplot( Lifeboats[,4:6], pch = ifelse(side=="Port", 1, 19), col = ifelse(side=="Port", "red", "blue"), id = ifelse(men/total > 0.1, as.character(boat), NA), prop.size = 2, dimnames.position = "edge", main = "Lifeboats on Titanic" ) legend( 0.8, 0.9, legend = c("SIDE", "Port", "Starboard"), pch = c(NA, 1, 19), col = c("black", "red", "blue"), ) data(Hitters) attach(Hitters) colors <- c("black","red","green","blue","red","black","blue") pch <- substr(levels(Positions), 1, 1) ternaryplot( Hitters[,2:4], pch = as.character(Positions), col = colors[as.numeric(Positions)], main = "Baseball Hitters Data" ) legend( 0.8, 0.9, legend = c("POSITION(S)", levels(Positions)), pch = c("", pch), col = c(NA, colors) )