Re: [Rd] Inconsistencies in device_Raster when axes are reflected

From: Paul Murrell <p.murrell_at_auckland.ac.nz>
Date: Thu, 12 Jan 2012 15:58:08 +1300

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/

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Thu 12 Jan 2012 - 03:32:22 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 12 Jan 2012 - 20:20:09 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive