Hi

On 12/01/2012 7:11 a.m., Sharpie wrote:
I noticed some undocumented and inconsistent behavior in device_Raster when a
plot is produced with reflected axes such as:

     image(volcano, xlim = c(1,0), useRaster = TRUE)
     image(volcano, ylim = c(1,0), useRaster = TRUE)

The `pdf` device will perform horizontal and vertical reflections, while
`quartz` will ignore the transformations when plotting to the screen, but
when plotting to a file, `quartz(file = 'test.pdf', type = 'pdf')`, it will
produce horizontal reflections and ignore vertical ones.

When the `xlim` or `ylim` is reversed, negative widths and heights are
passed to the C function `device_Raster`, which is not a behavior documented
in `R_ext/GraphicsDevice.h`. Also, the values of `x` and `y` passed to
`device_Raster` will be shifted by the width or height of the image such
that the coordinates no longer reference the bottom-left corner of the image
as `R_ext/GraphicsDevice.h` says they should.

Given the inconsistencies in documentation and behavior, I am wondering what
the intended behavior of `device_Raster` is in this situation.

I think the problem is that I just failed to anticipate this situation (i.e., the current documentation and behaviour both assume xlim[1] < xlim[2] and ylim[1] < ylim[2]).

Will take a look at where to apply a fix (EITHER allow the API to be more flexible [allow negative 'width' and 'height' and 'x' and 'y' to be other than left-bottom], which will require complicating the code in some devices OR keep the API fixed and complicate the graphics engine code instead). The rotation argument adds an interesting twist ...

Thanks for the report!

Paul

Thanks!

-Charlie

-----
Charlie Sharpsteen
Undergraduate-- Environmental Resources Engineering
Humboldt State University
--
View this message in context: 
http://r.789695.n4.nabble.com/Inconsistencies-in-device-Raster-when-axes-are-reflected-tp4286320p4286320.html
Sent from the R devel mailing list archive at Nabble.com.

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

--
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
p...@stat.auckland.ac.nz
http://www.stat.auckland.ac.nz/~paul/

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to