Skip to content

How to set axis labels?

1 message · Brian Ripley

#
On Tue, 2 Mar 1999, Stuart Luppescu wrote:

            
Ah, that is not `the plot function'. It is plot.formula, and I suggest you
use

plot(size94, residuals(mschmod), ylab = "Productivity Adjusted for 
Context")

For some reason plot.formula insists on setting ylab. I think it should be:

plot.formula <-
function (formula, data = NULL, subset, na.action,
          ylab=varnames[response], ..., ask = TRUE) 
{
    if (missing(na.action)) 
        na.action <- options()$na.action
    m <- match.call(expand.dots = FALSE)
    if (is.matrix(eval(m$data, sys.parent()))) 
        m$data <- as.data.frame(data)
    m$... <- NULL
    m[[1]] <- as.name("model.frame")
    mf <- eval(m, sys.parent())
    response <- attr(attr(mf, "terms"), "response")
    if (response) {
        varnames <- names(mf)
        y <- mf[[response]]
        if (length(varnames) > 2) {
            opar <- par(ask = ask)
            on.exit(par(opar))
        }
        for (i in varnames[-response]) plot(mf[[i]], y, xlab = i, 
            ylab = ylab, ...)
    }
    else plot.data.frame(mf)
}

Can anyone see why not?