axis                package:graphics                R Documentation

_A_d_d _a_n _A_x_i_s _t_o _a _P_l_o_t

_D_e_s_c_r_i_p_t_i_o_n:

     Adds an axis to the current plot, allowing the specification of
     the side, position, labels, and other options.

_U_s_a_g_e:

     axis(side, at = NULL, labels = TRUE, tick = TRUE, line = NA,
          pos = NA, outer = FALSE, font = NA,
          lty = "solid", lwd = 1, col = NULL, hadj = NA, padj = NA,
          ...)

_A_r_g_u_m_e_n_t_s:

    side: an integer specifying which side of the plot the axis is to
          be drawn on.  The axis is placed as follows: 1=below, 2=left,
          3=above and 4=right.

      at: the points at which tick-marks are to be drawn.  Non-finite
          (infinite, 'NaN' or 'NA') values are omitted.  By default,
          when 'NULL', tickmark locations are computed, see Details
          below.

  labels: this can either be a logical value specifying whether
          (numerical) annotations are to be made at the tickmarks, or a
          character or expression vector of labels to be placed at the
          tickpoints.  (Other objects are coerced by
          'as.graphicsAnnot'.) If this is not logical, 'at' should also
          be supplied and of the same length.  If 'labels' is of length
          zero after coercion, it has the same effect as supplying
          'TRUE'.

    tick: a logical value specifying whether tickmarks and an axis line
          should be drawn

    line: the number of lines into the margin which the axis will be
          drawn.  If not 'NA' this overrides the value of the graphical
          parameter 'mgp[3]'.  The relative placing of tickmarks and
          tick labels is unchanged.

     pos: the coordinate at which the axis line is to be drawn: if not
          'NA' this overrides the values of both 'line' and 'mgp[3]'.

   outer: a logical value indicating whether the axis should be drawn
          in the outer plot margin, rather than the standard plot
          margin.

    font: font for text.  Defaults to 'par("font")'.

lty, lwd: line type, width for the axis line and the tick marks.

     col: color for the axis line and the tick marks.  Here 'NULL'
          means to use 'par("fg")', possibly specified inline.

    hadj: adjustment (see 'par("adj")') for all labels _parallel_
          ('horizontal') to the reading direction.  If this is not a
          finite value, the default is used (centring for strings
          parallel to the axis, justification of the end nearest the
          axis otherwise).

    padj: adjustment for each tick label _perpendicular_ to the reading
          direction.  For labels parallel to the axes, 'padj=0' means
          right or top alignment, and 'padj=1' means left or bottom
          alignment.  This can be a vector given a value for each
          string, and will be recycled as necessary.

          If 'padj' is not a finite value (the default), the value of
          'par("las")' determines the adjustment.  For strings plotted
          perpendicular to the axis the default is to centre the
          string.

     ...: other graphical parameters may also be passed as arguments to
          this function, particularly, 'cex.axis', 'col.axis' and
          'font.axis' for axis annotation, 'mgp' and 'xaxp' or 'yaxp'
          for positioning, 'tck' or 'tcl' for tick mark length and
          direction, 'las' for vertical/horizontal label orientation,
          or 'fg' instead of 'col', see 'par' on these.

          Parameters 'xaxt' (sides 1 and 3) and 'yaxt' (sides 2 and 4)
          control if the axis is plotted at all.

          Note that 'xpd' is not accepted as clipping is always to the
          device region, and that 'lab' will partial match to argument
          'labels' unless the latter is also supplied.  (Since the
          default axes has already been set up by 'plot.window', 'lab'
          will not be acted on by 'axis'.)

_D_e_t_a_i_l_s:

     The axis line is drawn from the lowest to the highest value of
     'at', but will be clipped at the plot region.  Only ticks which
     are drawn from points within the plot region (up to a tolerance
     for rounding error) are plotted, but the ticks and their labels
     may well extend outside the plot region.

     When 'at = NULL', pretty tick mark locations are computed
     internally (the same way 'axTicks(side)' would) from 'par("xaxp")'
     or '"yaxp"' and 'par("xlog")' (or '"ylog"').  Note that these
     locations may change if an on-screen plot is resized (for example,
     if the 'plot' argument 'asp' (see 'plot.window') is set.)

     If 'labels' is not specified, the numeric values supplied or
     calculated for 'at' are converted to character strings as if they
     were a numeric vector printed by 'print.default(digits=7)'.

     The code tries hard not to draw overlapping tick labels, and so
     will omit labels where they would abut or overlap previously drawn
     labels. This can result in, for example, every other tick being
     labelled. (The ticks are drawn left to right or bottom to top, and
     space at least the size of an 'm' is left between labels.)

     Several of the graphics parameters affect the way axes are drawn.
     The vertical (for sides 1 and 3) positions of the axis and the
     tick labels are controlled by 'mgp', the size and direction of the
     ticks is controlled by 'tck' and 'tcl' and the appearance of the
     tick labels by 'cex.axis', 'col.axis' and 'font.axis' with
     orientation controlled by 'las' (but not 'srt', unlike S which
     uses 'srt' if 'at' is supplied and 'las' if it is not).  Note that
     'adj' is not supported. See 'par' for details.

_V_a_l_u_e:

     The numeric locations on the axis scale at which tick marks were
     drawn when the plot was first drawn (see Details).

     This function is usually invoked for its side effect, which is to
     add an axis to an already existing plot.

_R_e_f_e_r_e_n_c_e_s:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

_S_e_e _A_l_s_o:

     'Axis' for a generic interface.

     'axTicks' returns the axis tick locations corresponding to
     'at=NULL'; 'pretty' is more flexible for computing pretty tick
     coordinates and does _not_ depend on (nor adapt to) the coordinate
     system in use.  

     Several graphics parameters affecting the appearance are
     documented  in 'par'.

_E_x_a_m_p_l_e_s:

     require(stats) # for rnorm
     plot(1:4, rnorm(4), axes = FALSE)
     axis(1, 1:4, LETTERS[1:4])
     axis(2)
     box() #- to make it look "as usual"

     plot(1:7, rnorm(7), main = "axis() examples",
          type = "s", xaxt = "n", frame = FALSE, col = "red")
     axis(1, 1:7, LETTERS[1:7], col.axis = "blue")
     # unusual options:
     axis(4, col = "violet", col.axis="dark violet", lwd = 2)
     axis(3, col = "gold", lty = 2, lwd = 0.5)

     # one way to have a custom x axis
     plot(1:10, xaxt = "n")
     axis(1, xaxp=c(2, 9, 7))

