eaxis {sfsmisc}R Documentation

Extended / Engineering Axis for Graphics

Description

An extended axis() function which labels more prettily, in particular for log-scale axes.

It makes use of plotmath expressions of the form k * 10^k for labeling a log-scaled axis and when otherwise exponentional formatting would be used.

Usage

eaxis(side, at = axTicks(side, log=log), labels = NULL, log = NULL,
      f.smalltcl = 3/5, at.small = NULL, small.mult = NULL,
      outer.at = TRUE, drop.1 = TRUE, las = 1, ...)

Arguments

side integer in 1:4, specifying side of axis.
at numeric vector of (“normalsized”) tick locations; by default axTicks(side), i.e., the same as axis() would use.
labels NULL (default), logical, character or expression, as in axis(); in addition, if NA, labels = TRUE is passed to axis(), i.e. pretty10exp is not used. Use FALSE to suppress any labeling.
log logical or NULL specifying if log-scale should be used; the default depends on the current plot's axis.
f.smalltcl factor specifying the lengths of the small ticks in proportion to the normalsized, labeled ticks.
at.small locations of small ticks; default uses used as “small ticks”.
small.mult which multiples of axTicks() should be used as “small ticks” by default.
outer.at logical specifying that at.small should also be constructed outside the at range, but still inside the corresponding par("usr").
drop.1 logical specifying if "1 *" should be dropped from labels, passed to pretty10exp().
las, ... arguments passed to (the first) axis call. Note that the default las = 1 differs from axis's default las = 0.

Author(s)

Martin Maechler

See Also

axis, axTicks, axTexpr, pretty10exp.

Examples

x <- lseq(1e-10, 0.1, length = 201)
plot(x, pt(x, df=3), type = "l", xaxt = "n", log = "x")
eaxis(1)

## If you like the ticks, but prefer traditional (non-"plotmath") labels:
plot(x,  gamma(x),   type = "l", log = "x")
eaxis(1, labels=NA)

x <- lseq(.001, 0.1, length = 1000)
plot(x, sin(1/x)*x, type = "l", xaxt = "n", log = "x")
eaxis(1)

## non- log-scale : draw small ticks, but no "10^k" if not needed:
x <- seq(-100, 100, length = 1000)
plot(x, sin(x)/x, type = "l", xaxt = "n")
eaxis(1)

x <- seq(-1, 1, length = 1000)
plot(x, sin(x)/x, type = "l", xaxt = "n")
eaxis(1)

x <- x/1000
plot(x, 1-sin(x)/x, type = "l", xaxt = "n", yaxt = "n")
eaxis(1)
eaxis(2)
## more labels than default:
op <- par(lab=c(10,5,7))
plot(x, sin(x)/x, type = "l", xaxt = "n")
eaxis(1) # maybe (depending on your canvas), there are too many,
## in that case, maybe use
plot(x, sin(x)/x, type = "l", xaxt = "n")
eaxis(1, axTicks(1)[c(TRUE,FALSE)]) # drop every 2nd label
eaxis(3, labels=FALSE)
par(op)

[Package sfsmisc version 1.0-11 Index]