[R] recordPlot in 1.5.x, replayPlot in 1.6.0 problem

Paul Murrell p.murrell at auckland.ac.nz
Thu Nov 7 00:08:01 CET 2002


Don MacQueen wrote:
> Thank you for responding.
> I checked the dates, and "fairly recent" means R-1.5.0 in this case.
> I will try to get a reproducible example.

I have a reproducible example.  Try this in R 1.5.0 ...

	temp <- recordPlot()
	save(temp, file="dl")

... then this in R 1.6.0 ...


... and the tick-marks on the axis are a bit funny (dotty).

I think the problem is that the interface for the internal axis code has
changed.  In 1.5.0 we had ...

    /* axis(side, at, labels, tick,
     *	     line, pos, outer, font, vfont, ...) */

... in 1.6.0 we have ...

    /* axis(side, at, labels, tick, line, pos,
     *	    outer, font, vfont, lty, lwd, col, ...) */

What gets saved by recordPlot() is the display list which is a list of
internal C calls.  What you are seeing is the 1.6.0 code being called
with a 1.5.0 argument list and the lty, lwd, and col arguments are
missing so goodness knows where they are being taken from.

In simple terms, this is a danger of trying to use display lists across
different versions of R -- the information that is stored in the display
list *may* be version-specific.  Ideally we would detect these changes
automatically -- sorting out display lists is a todo item.

In case it is of any use, I have a very basic discussion of saving and
reusing graphics output at
This is aimed at using grid, but some of it is relevant for base
graphics too.

r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch

More information about the R-help mailing list