# add_axes_labels: Add labels to an axis at given positions In markheckmann/dissertation: Functions used in dissertation

## Description

Add labels to an axis at given positions

## Usage

 ```1 2``` ```add_axes_labels(v, U, labels, i = 1:nrow(U), ortho = FALSE, below = TRUE, line = 1, srt = NULL, ...) ```

## Arguments

 `v` Direction vector of axis. `U` Points on axis in user coordinates `labels` Labels to place on axis. `i` Indexes of which labels to plot. `ortho` Labels orthogonal to axis? (default `FALSE`). `below` Should the label appear below the axis? `line` Number of lines label is placed below axis. `srt` A numerical value specifying (in degrees) how the text should be rotated. `...` Passed on to `text` to plot labels.

## Details

Places value labels at given points and in direction given by vector. The labels are rotated automatically to be readable.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29``` ```# generate data set.seed(1) v <- c(1,1) # vector in direction of axis X <- t(replicate(4, runif(1, -1, 1) * v)) # generate points on axis ## plot 1: add labels parallel to axis plot(X, pch=16, asp=1, xlim=c(-1,1), ylim=c(-1,1)) abline(h=0, v=0, col="grey") abline(0, 1) # add point coords as labels lbls <- apply(X, 1, function(x) paste(round(x,1), collapse=",")) add_axes_labels(v, X, lbls, cex=.7) ## plot 2: add labels perpendicular to axis / without rotation plot(X, pch=16, asp=1, xlim=c(-1,1), ylim=c(-1,1)) abline(h=0, v=0, col="grey") abline(0, 1) # add projected values on vector as labels vn <- v / sum(v^2)^.5 # normalize vector for projection lbls <- X %*% v # project points on vector add_axes_labels(v, X, round(lbls,1), cex=.7, below=FALSE, col="blue", ortho=TRUE) add_axes_labels(v, X, round(lbls, 1), cex=.7, srt=0, line = .5, col="grey") ```

markheckmann/dissertation documentation built on May 21, 2019, 12:06 p.m.