triangle.plot {ade4}R Documentation

Triangular Plotting

Description

Graphs for a dataframe with 3 columns of positive or null values
triangle.plot is a scatterplot
triangle.biplot is a paired scatterplots
triangle.posipoint, triangle.param, add.position.triangle are utilitaries functions.

Usage

triangle.plot(ta, label = as.character(1:nrow(ta)), clabel = 0, 
    cpoint = 1, draw.line = TRUE, addaxes = FALSE, addmean = FALSE, 
    labeltriangle = TRUE, sub = "", csub = 0, possub = "topright", 
    show.position = TRUE, scale = TRUE, min3 = NULL, max3 = NULL, 
    box = FALSE)
triangle.biplot (ta1, ta2, label = as.character(1:nrow(ta1)), 
    draw.line = TRUE, show.position = TRUE, scale = TRUE)

Arguments

ta, ta1, ta2, data frame with three columns, will be transformed in percentages by rows
label a vector of strings of characters for the point labels
clabel if not NULL, a character size for the labels, used with par("cex")*clabel
cpoint a character size for plotting the points, used with par("cex")*cpoint. If zero, no points are drawn
draw.line a logical value indicating whether the lines into the triangle should be drawn
addaxes a logical value indicating whether the principal axes should be drawn
addmean a logical value indicating whether the mean should be plotted
labeltriangle a logical value indicating whether the variable names should be wrote
sub a string of characters to be inserted as legend
csub a character size for the legend, used with par("cex")*csub
possub a string of characters indicating the sub-title position ("topleft", "topright", "bottomleft", "bottomright")
show.position a logical value indicating whether the used triangle should be shown in the complete one
scale a logical value indicating whether the smaller equilateral triangle containing the plot should be used
min3 If scale is FALSE, a vector of three values for the minima e.g. c(0.1,0.1,0.1) can be used
max3 If scale is FALSE a vector of three values for the maxima e.g. c(0.9,0.9,0.9) can be used
box a logical value indicating whether a box around the current plot should be drawn

Value

triangle.plot returns an invisible matrix containing the coordinates used for the plot. The graph can be supplemented in various ways.

Author(s)

Daniel Chessel

Examples

data (euro123)
tot <- rbind.data.frame(euro123$in78, euro123$in86, euro123$in97)
row.names(tot) <- paste(row.names(euro123$in78), rep(c(1,2,3), rep(12,3)),
    sep = "")
triangle.plot(tot, label = row.names(tot), clab = 1)

par(mfrow = c(2,2))
triangle.plot(euro123$in78, clab = 0, cpoi = 2, addmean = TRUE, 
    show = FALSE)
triangle.plot(euro123$in86, label = row.names(euro123$in78), clab = 0.8)
triangle.biplot(euro123$in78, euro123$in86)
triangle.plot(rbind.data.frame(euro123$in78, euro123$in86), clab = 1, 
    addaxes = TRUE, sub = "Principal axis", csub = 2, possub = "topright")

triangle.plot(euro123[[1]], min3 = c(0,0.2,0.3), max3 = c(0.5,0.7,0.8),
    clab = 1, label = row.names(euro123[[1]]), addax = TRUE)
triangle.plot(euro123[[2]], min3 = c(0,0.2,0.3), max3 = c(0.5,0.7,0.8), 
    clab = 1, label = row.names(euro123[[1]]), addax = TRUE)
triangle.plot(euro123[[3]], min3 = c(0,0.2,0.3), max3 = c(0.5,0.7,0.8), 
    clab = 1, label = row.names(euro123[[1]]), addax = TRUE)
triangle.plot(rbind.data.frame(euro123[[1]], euro123[[2]], euro123[[3]]))

wtriangleplot <- cbind.data.frame(a = runif(100), b = runif(100), 
    c = runif(100,4,5))
wtriangleplot <- triangle.plot(wtriangleplot)
points(wtriangleplot, col = "blue", cex = 2)
wtriangleplot <- colMeans(wtriangleplot)
points(wtriangleplot[1], wtriangleplot[2], pch = 20, cex = 3, col = "red")
rm(wtriangleplot)

Worked out examples


> library(ade4)
> ### Name: triangle.plot
> ### Title: Triangular Plotting
> ### Aliases: triangle.plot triangle.biplot triangle.param
> ###   triangle.posipoint add.position.triangle
> ### Keywords: hplot
> 
> ### ** Examples
> 
> data (euro123)
> tot <- rbind.data.frame(euro123$in78, euro123$in86, euro123$in97)
> row.names(tot) <- paste(row.names(euro123$in78), rep(c(1,2,3), rep(12,3)),
+     sep = "")
> triangle.plot(tot, label = row.names(tot), clab = 1)
> 
> par(mfrow = c(2,2))
> triangle.plot(euro123$in78, clab = 0, cpoi = 2, addmean = TRUE, 
+     show = FALSE)
> triangle.plot(euro123$in86, label = row.names(euro123$in78), clab = 0.8)
> triangle.biplot(euro123$in78, euro123$in86)
> triangle.plot(rbind.data.frame(euro123$in78, euro123$in86), clab = 1, 
+     addaxes = TRUE, sub = "Principal axis", csub = 2, possub = "topright")
> 
> triangle.plot(euro123[[1]], min3 = c(0,0.2,0.3), max3 = c(0.5,0.7,0.8),
+     clab = 1, label = row.names(euro123[[1]]), addax = TRUE)
> triangle.plot(euro123[[2]], min3 = c(0,0.2,0.3), max3 = c(0.5,0.7,0.8), 
+     clab = 1, label = row.names(euro123[[1]]), addax = TRUE)
> triangle.plot(euro123[[3]], min3 = c(0,0.2,0.3), max3 = c(0.5,0.7,0.8), 
+     clab = 1, label = row.names(euro123[[1]]), addax = TRUE)
> triangle.plot(rbind.data.frame(euro123[[1]], euro123[[2]], euro123[[3]]))
> 
> wtriangleplot <- cbind.data.frame(a = runif(100), b = runif(100), 
+     c = runif(100,4,5))
> wtriangleplot <- triangle.plot(wtriangleplot)
> points(wtriangleplot, col = "blue", cex = 2)
> wtriangleplot <- colMeans(wtriangleplot)
> points(wtriangleplot[1], wtriangleplot[2], pch = 20, cex = 3, col = "red")
> rm(wtriangleplot)
> 
> 
> 
> 

[Package ade4 Index]