Duncan Murdoch
2001-Feb-07 17:51 UTC
[Rd] Re: Writing graphics code (was: [R] get vector data from contour)
I submitted a message to r-help this morning that really belongs in r-devel; here's its URL in the archive: <http://www.r-project.org/nocvs/mail/r-help/2001/0693.html>. In summary, I suggest that R graphics objects should be accessible and modifiable, but it raises some problems if you want to do it without pointers. Duncan Murdoch -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel 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-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Prof Brian D Ripley
2001-Feb-07 18:45 UTC
[Rd] Re: Writing graphics code (was: [R] get vector data from contour)
On Wed, 7 Feb 2001, Duncan Murdoch wrote:> I submitted a message to r-help this morning that really belongs in > r-devel; here's its URL in the archive: > <http://www.r-project.org/nocvs/mail/r-help/2001/0693.html>. > > In summary, I suggest that R graphics objects should be accessible and > modifiable, but it raises some problems if you want to do it without > pointers.Duncan, I saw your post, and Ross's. As I understand it, in R there is a separation between computing and drawing, but it is at a higher level than the original question wanted. That's not to say I am very sure of this! Normally, R maintains a display list, that is a list of high-level description of graphics calls. The idea is that list can be replayed to refresh the display as needed (especially if it is resized), but the idea has been taken further, for example to copy plots by replaying on another device. Further, individual plots can be saved and replayed, first by menus on Guido's Windows display driver, and later from R functions. Now, I don't understand the display list in detail, but I know we have had problems with statefulness. There is also a lower-level separation, the set of calls made to the graphics driver, more akin to Windows GDI calls. One of my motivations for writing a PDF driver (there is one in R-devel now) was to allow editing of graphical output at object level. Unfortunately, this is not to be as the graphics driver interface is too low-level, for plotmath at the level of a single character, for example. I suspect that the ideal is somewhere in between the display list and the graphics driver level, and that probably PDF is about right. Someone in Apple clearly thinks so given the fuss being made about MacOSX graphics. I am not sure this helps you much. It is one example of an issue that is beginning to come up in several places: is it better to re-design and re-implement, or to try to maintain what we have? On the actual issue of extracting contours, then I think if you turn labelling off and use a device like XFig, it is quite easy to pull out the contours as vectors. Some background thoughts, I hope of some use. Brian -- Brian D. Ripley, ripley@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 272860 (secr) Oxford OX1 3TG, UK Fax: +44 1865 272595 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel 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-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Paul Murrell
2001-Feb-07 20:28 UTC
[Rd] Re: Writing graphics code (was: [R] get vector data from contour)
Hi ----- Original Message ----- From: Duncan Murdoch <murdoch@stats.uwo.ca> To: <r-devel@stat.math.ethz.ch> Sent: Thursday, February 08, 2001 6:51 AM Subject: [Rd] Re: Writing graphics code (was: [R] get vector data from contour)> I submitted a message to r-help this morning that really belongs in > r-devel; here's its URL in the archive: > <http://www.r-project.org/nocvs/mail/r-help/2001/0693.html>. > > In summary, I suggest that R graphics objects should be accessible and > modifiable, but it raises some problems if you want to do it without > pointers.I have been doing some similar stuff to what you describe (primitives and groups arranged in hierarchies), but for 2D graphics, and I have used Luke Tierney's "external pointers" to provide access to graphical objects which represent the graphical output. See the R developer page http://developer.r-project.org/ for Luke's stuff, but please note the disclaimer at the top of that page. Paul -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel 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-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._