Plots using POSIX
On Thu, 26 Jun 2003, Duncan Murdoch wrote:
On Thu, 26 Jun 2003 07:59:00 -0500, Shawn Way <sway at tanox.com> wrote :
Is there a reason that the bottom axis changes color when POSIX data is used in plot function?
It's the old problem of too much of ... being passed onwards. Here's
the current definition:
plot.POSIXct <- function (x, y, xlab = "", xaxt = par("xaxt"), ...)
{
axisInt <- function(x, main, sub, xlab, ylab, ...) axis.POSIXct(1,
x, ...)
plot.default(x, y, xaxt = "n", xlab = xlab, ...)
if (xaxt != "n")
axisInt(x, ...)
}
The "col" argument is being passed to axisInt, but it should have been
intercepted. Here's one way to intercept it:
plot.POSIXct <- function (x, y, xlab = "", xaxt = par("xaxt"), col =
par("col"), ...)
{
axisInt <- function(x, main, sub, xlab, ylab, ...) axis.POSIXct(1,
x, ...)
plot.default(x, y, xaxt = "n", xlab = xlab, col = col, ...)
if (xaxt != "n")
axisInt(x, ...)
}
However, this would still mess up if "lty" or "lwd" were specified;
are there others?
Just add those that should not be passed on to the defn of axisInt, rather than clutter the argument list.
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595