[R] Graphics device size

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Apr 11 18:38:59 CEST 2006

On Tue, 11 Apr 2006, Christos Hatzis wrote:

> Dear All,
> When working with composite plots many times I have to manually adjust the
> graphics display window size to get the best results (in Windows XP).  I can
> then find the size of the adjusted window in inches using par("din").
> Now I would like to export the adjusted graphs as png's and have them look
> as close to the original display as possible.  The problem is that the png
> device accepts size arguments in pixels so that I need to convert inches to
> pixels.  Is there a way to get the default pixels-per-inch that the windows
> device uses?  RSiteSearch("ppi") did not return any helpful hints.

Well, yes, but only by calling the Win API for your own C code.  It is 
often not very accurate.  Interestingly, it is actually in pixels per cm.

What is harder is to do is to find out how large you have resized the 
graphics window to.  Since in fact that is stored in pixels, you don't 
need the pixels-per-inch, but I can see no way to do this without C code
(the info is both in the private structure defined in devWindows.h and in 
the device-driver structure via right - left, bottom - top).

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

More information about the R-help mailing list