Because plot.default has no add argument
> args(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, ...) NULL
These other functions do not override plot , but provide their own methods, which have the add argument, because they were written that way. Personally, I grew up using points() and lines() , etc. I do not find them much extra work, and I would use them in the plot preference with the add argument, although we wrote both paths in the packages to which I contribute.
Why plot.default n't plot.default have an add argument? You should ask R Core, but I can offer some reasons.
plot.default designed to generate the entire graph on the device.- There are already
points() and lines() , etc., so why duplicate? plot.default is simple code without code to handle add- Backward compatible with S / S-Plus
Gavin simpson
source share