[R] how to plot image() without painting a map (the background)

Greg Snow Greg.Snow at imail.org
Tue Feb 19 18:19:36 CET 2008


The approach that I usually use for things like this is:

Plot the map to get the aspect ratio and limits correct.
Add the image (obscuring the original map).
Add the map again on top of the image using a light grey color.

This seems to work fine for me.  Another aproach that you may try (untested) is to use colors with an alpha channel (transparency) in the call to image, then the background map may show through.  Not all graphics devices support alpha channels, so test on one that does.

Hope this helps,

-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org
(801) 408-8111
 
 

> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of Ptit_Bleu
> Sent: Monday, February 18, 2008 8:59 AM
> To: r-help at r-project.org
> Subject: [R] how to plot image() without painting a map (the 
> background)
> 
> 
> Hello,
> 
> I'm trying to plot dayly evolution of the temperature over 
> France from Global Forecast System files ("I'm trying" is the 
> right expression...).
> 
> akilonlat03 is the temperature for different latitudes and 
> longitudes à 3 o'clock.
> akilonlat06 is the temperature for different latitudes and 
> longitudes à 6 o'clock.
> 
> I would like to plot akilonlat03 and then akilonlat06 and 
> keep the map of France in background.
> My script (see below) doesn't work as image "paints" the 
> background as I read somewhere in this forum.
> 
> So would have someone a solution to correct my script ?
> Thanks in advance,
> Ptit Bleu.
> 
> ----------------------------------------------------
> 
> 
> akilonlat03<-interp(lonlat03$Longitude, lonlat03$Latitude,
> (5/9)*(lonlat03$TMP_200802150300-32))
> akilonlat06<-interp(lonlat06$Longitude, lonlat06$Latitude,
> (5/9)*(lonlat06$TMP_200802150600-32))
> 
> map('france')
> 
> image(akilonlat03, col=cm.colors(100), axes=FALSE, add=TRUE) 
> #contour(akilonlat03, col="blue", add=TRUE) 
> image(akilonlat06, col=cm.colors(100), axes=FALSE, add=TRUE) 
> #contour(akilonlat06, col="blue", add=TRUE)
> 
> --
> View this message in context: 
> http://www.nabble.com/how-to-plot-image%28%29-without-painting
> -a-map-%28the-background%29-tp15546906p15546906.html
> Sent from the R help mailing list archive at Nabble.com.
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide 
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
> 



More information about the R-help mailing list