Inconsistencies in device_Raster when axes are reflected
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 at 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 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/