Skip to content

x11() graphic device, displaying raster

7 messages · Uwe Ligges, Brian Ripley, Johannes Radinger

#
Hello,

I am wondering about the X11() graphic device on Windows. 
I try to plot a raster image but nothing gets displayed. I
found some pages where it is mentioned that x11() not
always supports raster rendering.
Is there any add on for x11, any update or any R-package
which solves that displaying problem in Windows?

What I try to test it is an example from the
package {raster}:

library(raster)
DEU_alt <- getData("alt", country="DEU", mask=TRUE)
x11()
plot(DEU_alt,axes=TRUE)

best regards,

/johannes
#
On 25.01.2012 12:45, Johannes Radinger wrote:
Try an R version that is recent - it works for me.

Uwe Ligges
#
On 25/01/2012 11:45, Johannes Radinger wrote:
There is no such device: there is a function of that name as a 
convenience wrapper for windows().
I think you are talking about the X11 device on a Unix-alike, most 
likely long ago.  But for example ?rasterImage says

      Plotting raster images is not supported on all devices and may
      have limitations where supported, for example (e.g. for
      ?postscript? and ?X11(type = "Xlib")?) restricted to opaque
      colors.

'some pages' isn't good enough: do give precise references to back up 
your allegations.
That's not really the same usage of 'raster'.   But that example works 
for me (and pops up a windows() device).  It does download a data file, 
and that is often a fragile thing to do.

I used 32-bit R-patched on Windows 7, for the record.

  
    
#
I first tried it with R 2.13.2 and raster version 1.9-64 (16-January-2012).
Now I also installed the most recent version R 2.14.1 (Platform: i386-pc-mingw32/i386 (32-bit)) and raster version 1.9-64 (16-January-2012).

But in both cases no success. X11() opens and draws the axis and the
border for the scale but no raster...

There is no problem with vector graphics...like:
DEU_border <- getData("GADM", country="DEU", level=1)
plot(DEU_border,axes=TRUE)

Any suggestions what is going on resp. how to solve it...?

/johannes
#
On 25.01.2012 13:42, Johannes Radinger wrote:
I do not really understand why you are using x11(). The Windows device 
is called windows() and you actually do not need to open it, since plot 
opens it anyway. Or are you under cygwin (which is not really Windows)?
If not: Which version of Windows is this?

Uwe Ligges
#
Of course I do not need to open a graphic device (as you said it is open when calling plot). I just wanted to make it reproducable as e.g. Mac OS X opens Quartz as a standard device when calling plot on my Mac machine.

So far as I understand the help are "all the devices (X11(), x11() and windows() implemented as variants of the same device". Thus it makes no difference if I call x11() or windows() or if 'plot' opens the device automatically. In all cases there is no raster displayed.

Just some additional information from the 'grDevices' package:
$semiTransparency
[1] TRUE

$transparentBackground
[1] "fully"

$rasterImage
[1] "yes"

$capture
[1] TRUE

$locator
[1] TRUE

$events
[1] "MouseDown" "MouseMove" "MouseUp"   "Keybd"  

I am running R via the standard RGUI (so no Eclipse, Rtinn etc.). The machine I am working on is Windows 2008 Server Enterprise (Version 6.0) which I am remotely accessing from a ThinClient with WindowsXP-embedded.
This is the standard configuration of our institution. Maybe that configuration with ThinClients is a reason? But what should I ask our admin? What should he check etc?

best regards,
johannes

  
    
#
On 25.01.2012 15:47, Johannes Radinger wrote:
Yes! the remotesoftware is probably unable to send the rasterimage!

See ?image:

"Problems with the rendering of raster images have been reported using 
?windows()? devices under Remote Desktop."

Uwe Ligges