axTicks               package:graphics               R Documentation

Compute Axis Tickmark Locations

Description:

     Compute pretty tickmark locations, the same way as R does
     internally. This is only non-trivial when *log* coordinates are
     active. By default, gives the 'at' values which 'axis(side)' would
     use.

Usage:

     axTicks(side, axp = NULL, usr = NULL, log = NULL)

Arguments:

    side: integer in 1:4, as for 'axis'.

     axp: numeric vector of length three, defaulting to 'par("xaxp")'
          or 'par("yaxp")' depending on the 'side' argument.

     usr: numeric vector of length four, defaulting to 'par("usr")'
          giving horizontal ('x') and vertical ('y') user coordinate
          limits.

     log: logical indicating if log coordinates are active; defaults to
          'par("xlog")' or 'par("ylog")'.

Details:

     The 'axp', 'usr', and 'log' arguments must be consistent as their
     default values (the 'par(..)' results) are.  If you specify all
     three (as non-NULL), the graphics environment is not used at all. 
     Note that the meaning of 'axp' alters very much when 'log' is
     'TRUE', see the documentation on 'par(xaxp=.)'.

     'axTicks()' can be regarded as an R implementation  of the C
     function 'CreateAtVector()' in '..../src/main/plot.c' which is
     called by 'axis(side,*)' when no argument 'at' is specified.

Value:

     numeric vector of coordinate values at which axis tickmarks can be
     drawn.  By default, when only the first argument is specified,
     these values should be identical to those that 'axis(side)' would
     use or has used.

See Also:

     'axis', 'par'.  'pretty' uses the same algorithm (but
     independently of the graphics environment) and has more options. 
     However it is not available for 'log = TRUE.'

Examples:

      plot(1:7, 10*21:27)
      axTicks(1)
      axTicks(2)
      stopifnot(identical(axTicks(1), axTicks(3)),
                identical(axTicks(2), axTicks(4)))

     ## Show how axTicks() and axis() correspond :
     op <- par(mfrow = c(3,1))
     for(x in 9999*c(1,2,8)) {
         plot(x,9, log = "x")
         cat(formatC(par("xaxp"), width=5),";", T <- axTicks(1),"\n")
         rug(T, col="red")
     }
     par(op)

