abline               package:graphics               R Documentation

_A_d_d _S_t_r_a_i_g_h_t _L_i_n_e_s _t_o _a _P_l_o_t

_D_e_s_c_r_i_p_t_i_o_n:

     This function adds one or more straight lines through the current
     plot.

_U_s_a_g_e:

     abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL,
            coef = NULL, untf = FALSE, ...)

_A_r_g_u_m_e_n_t_s:

    a, b: the intercept and slope, single values.

    untf: logical asking whether to _untransform_.  See Details.

       h: the y-value(s) for horizontal line(s).

       v: the x-value(s) for vertical line(s).

    coef: a vector of length two giving the intercept and slope.

     reg: an object with a 'coef' method.  See Details.

     ...: graphical parameters such as 'col', 'lty' and 'lwd' (possibly
          as vectors: see Details) and the line characteristics 'lend',
          'ljoin' and 'lmitre'.

_D_e_t_a_i_l_s:

     Typical usages are


     abline(a, b, untf = FALSE, ...)
     abline(h=, untf = FALSE, ...)
     abline(v=, untf = FALSE, ...)
     abline(coef=, untf = FALSE, ...)
     abline(reg=, untf = FALSE, ...)

     The first form specifies the line in intercept/slope form
     (alternatively 'a' can be specified on its own and is taken to
     contain the slope and intercept in vector form).

     The 'h=' and 'v=' forms draw horizontal and vertical lines at the
     specified coordinates.

     The 'coef' form specifies the line by a vector containing the
     slope and intercept.

     'reg' is a regression object with a 'coef' method. If this returns
     a vector of length 1 then the value is taken to be the slope of a
     line through the origin, otherwise, the first 2 values are taken
     to be the intercept and slope.

     If 'untf' is true, and one or both axes are log-transformed, then
     a curve is drawn corresponding to a line in original coordinates,
     otherwise a line is drawn in the transformed coordinate system.
     The 'h' and 'v' parameters always refer to original coordinates.

     The graphical parameters 'col', 'lty' and 'lwd' can be specified;
     see 'par' for details.  For the 'h=' and 'v=' usages they can be
     vectors of length greater than one, recycled as necessary.

_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.

     Murrell, P. (2005) _R Graphics_. Chapman & Hall/CRC Press.

_S_e_e _A_l_s_o:

     'lines' and 'segments' for connected and arbitrary lines given by
     their _endpoints_. 'par'.

_E_x_a_m_p_l_e_s:

     ## Setup up coordinate system (with x==y aspect ratio):
     plot(c(-2,3), c(-1,5), type = "n", xlab="x", ylab="y", asp = 1)
     ## the x- and y-axis, and an integer grid
     abline(h=0, v=0, col = "gray60")
     text(1,0, "abline( h = 0 )", col = "gray60", adj = c(0, -.1))
     abline(h = -1:5, v = -2:3, col = "lightgray", lty=3)
     abline(a=1, b=2, col = 2)
     text(1,3, "abline( 1, 2 )", col=2, adj=c(-.1,-.1))

     ## Simple Regression Lines:
     require(stats)
     sale5 <- c(6, 4, 9, 7, 6, 12, 8, 10, 9, 13)
     plot(sale5)
     abline(lsfit(1:10,sale5))
     abline(lsfit(1:10,sale5, intercept = FALSE), col= 4) # less fitting

     z <- lm(dist ~ speed, data = cars)
     plot(cars)
     abline(z) # equivalent to abline(reg = z) or
     abline(coef = coef(z))

     ## trivial intercept model
     abline(mC <- lm(dist ~ 1, data = cars)) ## the same as
     abline(a = coef(mC), b = 0, col = "blue")

