[Rd] Graphics-Device-Size vs. Window-Size: R design flaw

Jens Oehlschlägel jens.oehlschlaegel@bbdo-interone.de
Thu, 16 Nov 2000 10:47:41 +0100

Hello Ross,

thank you for entering this discussion.

> Every version of Splus I've looked at (I've not seen 2000 yet) simply
> lied about the device size.  The device remains the size it
> was when it
> was created.  I presume that the rendering code just carries out a
> stretch of coordinates.  If you do the following
> 	par("din")
> 	# stretch the window with the mouse
> 	par("din")
> you'll see that there is no change.  As far as I could tell,
> the initial
> size of the device is used for ever.

Yes, and for me this behaviour would be great: you create a bigger than
screen device like DIN A3, you can see it at the screen at whatever
windowsize you want and it alway tells the truth about it's real size: DIN
A3. This TRUTH becomes a LIE only, if one considers representation layer and
presentation layer to be the same.

> The results of this are unfortunate when you are relying on having
> equal units in the x and y directions.  Drawing maps or displaying
> the results of some sort of ordination can be badly affected.  Also,
> there can be obviously incorrect drawing of tickmarks and annotation
> (this is usually only apparent for extreme reshaping).

This is where aspect ratio locking would help (for the whole device, not
only for the plot area).

> The philosophy in R is that when a window is resized, the graph should
> be redrawn so that it will appear as it would if it had been created
> in a window with the new size.

This makes it IMPOSSIBLE to work on a device bigger than the screen.

> If we are going to change the graphics, let's please throw the present
> system out completely.

If you are going to change graphics from scratch, PLEASE do use this
opportunity to really seperate representation layer from screen



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