buildAxis | R Documentation |

The function `buildAxis`

is built to provide more control of the number
of labels on the axis. This function is still under development.

buildAxis(side, limits, n, nMin = 2, nMax = 10, extend = 2, eps = 10^-12, ...)

`side` |
The side of the plot where to add the axis. |

`limits` |
Either lower and upper limits on the axis or a data set. |

`n` |
The preferred number of axis labels. |

`nMin` |
The minimum number of axis labels. |

`nMax` |
The maximum number of axis labels. |

`extend` |
How far the axis may extend beyond |

`eps` |
The smallest increment allowed. |

`...` |
Arguments passed to |

The primary reason behind building this function was to allow a plot to be
created with similar features but with different data sets. For instance, if
a set of code was written for one data set and the function `axis`

had
been utilized with pre-specified values, the axis may not match the plot of
a new set of data. The function `buildAxis`

addresses this problem by
allowing the number of axis labels to be specified and controlled.

The axis is built by assigning penalties to a variety of potential axis setups, ranking them based on these penalties and then selecting the axis with the best score.

A vector of the axis plotted.

David Diez

`histPlot`

, `dotPlot`

,
`boxPlot`

, `densityPlot`

# ===> 0 <===# limits <- rnorm(100, 605490, 10) hist(limits, axes = FALSE) buildAxis(1, limits, 2, nMax = 4) # ===> 1 <===# x <- seq(0, 500, 10) y <- 8 * x + rnorm(length(x), mean = 6000, sd = 200) plot(x, y, axes = FALSE) buildAxis(1, limits = x, n = 5) buildAxis(2, limits = y, n = 3) # ===> 2 <===# x <- 9528412 + seq(0, 200, 10) y <- 8 * x + rnorm(length(x), mean = 6000, sd = 200) plot(x, y, axes = FALSE) temp <- buildAxis(1, limits = x, n = 4) buildAxis(2, y, 3) # ===> 3 <===# x <- seq(367, 1251, 10) y <- 7.5 * x + rnorm(length(x), mean = 6000, sd = 800) plot(x, y, axes = FALSE) buildAxis(1, limits = x, n = 4, nMin = 3, nMax = 3) buildAxis(2, limits = y, n = 4, nMin = 3, nMax = 5) # ===> 4 <===# x <- seq(367, 367.1, 0.001) y <- 7.5 * x + rnorm(length(x), mean = 6000, sd = 0.01) plot(x, y, axes = FALSE) buildAxis(1, limits = x, n = 4, nMin = 5, nMax = 6) buildAxis(2, limits = y, n = 2, nMin = 3, nMax = 4) # ===> 5 <===# x <- seq(-0.05, -0.003, 0.0001) y <- 50 + 20 * x + rnorm(length(x), sd = 0.1) plot(x, y, axes = FALSE) buildAxis(1, limits = x, n = 4, nMin = 5, nMax = 6) buildAxis(2, limits = y, n = 4, nMax = 5) abline(lm(y ~ x)) # ===> 6 <===# x <- seq(-0.0097, -0.008, 0.0001) y <- 50 + 20 * x + rnorm(length(x), sd = 0.1) plot(x, y, axes = FALSE) buildAxis(1, limits = x, n = 4, nMin = 2, nMax = 5) buildAxis(2, limits = y, n = 4, nMax = 5) abline(lm(y ~ x)) # ===> 7 <===# x <- seq(0.03, -0.003099, -0.00001) y <- 50 + 20 * x + rnorm(length(x), sd = 0.1) plot(x, y, axes = FALSE) buildAxis(1, limits = x, n = 4, nMin = 2, nMax = 5) buildAxis(2, limits = y, n = 4, nMax = 6) abline(lm(y ~ x)) # ===> 8 - repeat <===# m <- runif(1) / runif(1) + rgamma(1, runif(1) / runif(1), runif(1) / runif(1)) s <- rgamma(1, runif(1) / runif(1), runif(1) / runif(1)) x <- rnorm(50, m, s) hist(x, axes = FALSE) buildAxis(1, limits = x, n = 5, nMin = 4, nMax = 6, eps = 10^-12) if (diff(range(x)) < 10^-12) { cat("too small\n") }

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.