Hi all,

As long as I've used R, add=TRUE hasn't worked in contexts like this:

        f <- function(x) x^2
        X <- seq(0, 1, by=1/4)
        plot(f, col="blue")
        plot(X, f(X), col="red", type="l", add=TRUE)

I attached a fix for version 2.6.2.

Cheers,
Andrew

diff --git a/src/library/graphics/R/plot.R b/src/library/graphics/R/plot.R
index 233b11e..ad3529e 100644
--- a/src/library/graphics/R/plot.R
+++ b/src/library/graphics/R/plot.R
@@ -46,16 +46,24 @@ plot.default <-
     function(x, y = NULL, type = "p", xlim = NULL, ylim = NULL,
              log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
              ann = par("ann"), axes = TRUE, frame.plot = axes,
-             panel.first = NULL, panel.last = NULL, asp = NA, ...)
+             panel.first = NULL, panel.last = NULL, asp = NA, add=FALSE, ...)
 {
+    xlabel <- if (!missing(x)) deparse(substitute(x))
+    ylabel <- if (!missing(y)) deparse(substitute(y))
+    if (add) {
+       log <- paste(ifelse(unlist(par("xlog", "ylog")), c("x", "y"), ""),
+                    collapse="")
+       xy <- xy.coords(x, y, xlabel, ylabel, log=log)
+       plot.xy(xy, type, ...)
+       return(invisible())
+    }
+
     ## These col, bg, pch, cex can be vectors, so exclude them
     ## Also, axis and box accept some of these
     localAxis <- function(..., col, bg, pch, cex, lty, lwd) Axis(...)
     localBox <- function(..., col, bg, pch, cex, lty, lwd) box(...)
     localWindow <- function(..., col, bg, pch, cex, lty, lwd) plot.window(...)
     localTitle <- function(..., col, bg, pch, cex, lty, lwd) title(...)
-    xlabel <- if (!missing(x)) deparse(substitute(x))
-    ylabel <- if (!missing(y)) deparse(substitute(y))
     xy <- xy.coords(x, y, xlabel, ylabel, log)
     xlab <- if (is.null(xlab)) xy$xlab else xlab
     ylab <- if (is.null(ylab)) xy$ylab else ylab
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to