Skip to content

filled maps

3 messages · Janus Larsen, antonio rodriguez, Roger Bivand

#
Hi R-Help,

I would like to make filled contour maps of ocean data overlaid by
costlines from the map package.
I can draw the filled contours and the coastlines om the same plot, but
the filled contour also covers part of the land. To get rid of that I
tried to draw a filled coastline map on top of the filled contour, but
the filled map only draws the closed contours - so most of the land is
missing.
Example:
map("worldHires",xlim=c(0,15),ylim=c(50,60)) #Draw relevant region
(North Sea and Denmark waters)
map("worldHires",xlim=c(0,15),ylim=c(50,60),fill=TRUE) # This only draws
Denmark and Holland (Sweden, uk, Germany etc. disappears because they
are not closed polygons).

Any hint on how to fix this problem or a different approach is most
welcome.
Janus
#
Hi,

Some time ago, Roger Peng posted this solution, which I found very useful:

junk.mat <- matrix(rnorm(1600), 16, 100)
contour.mat <- ifelse(junk.mat < 2, 0, junk.mat)
filled.contour(junk.mat, color = terrain.colors, 
               plot.axes = contour(contour.mat, levels = 1, 
                                   drawlabels = FALSE, axes = FALSE, 
                                   frame.plot = FFALSE, add = TRUE))

The 'plot.axes' argument to filled.contour() gives you access to the
coordinate system in the actual plotting area.  However, you will notice
that the axes are missing.  You need to add them explicitly, as in:

filled.contour(junk.mat, color = terrain.colors, 
               plot.axes = { contour(contour.mat, levels = 1, 
                                     drawlabels = FALSE, axes = FALSE, 
                                     frame.plot = FFALSE, add = TRUE);
			     axis(1); axis(2) } )


Cheers,

Antonio
http://www.R-project.org/posting-guide.html
---
Incoming mail is certified Virus Free.



---
#
On Tue, 3 Feb 2004, Janus Larsen wrote:

            
Looks as though you can use the regions= argument:
+ namesonly=TRUE)
[1] "Denmark"                     "USSR"                       
 [3] "Netherlands"                 "Netherlands:IJsselmeer"     
 [5] "France"                      "Czechoslovakia"             
 [7] "Poland"                      "Germany"                    
 [9] "Luxembourg"                  "Belgium"                    
[11] "Norway"                      "Sweden"                     
[13] "Germany:Usedom"              "Netherlands:South"          
[15] "Germany:Langeoog"            "Denmark:Mors"               
[17] "Denmark:Mon"                 "Lake Fjerritslev"           
[19] "UK:Great Britain"            "Denmark:Samso"              
[21] "Netherlands:Ameland"         "Netherlands:Terschelling"   
[23] "Denmark:Als"                 "Denmark:Sjaelland"          
[25] "Denmark:Fyn"                 "Netherlands:Schiermonnikoog"
[27] "Denmark:Laeso"               "Sweden:Orust"               
[29] "Germany:Borkum"              "Denmark:Lolland"            
[31] "Netherlands:Texel"           "Netherlands:Flevoland"      
[33] "Norway:Sunnhordland"         "UK:Isle of Sheppey"         
[35] "Denmark:Langeland"           "Denmark:Bornholm"           
[37] "Germany:Fehmarn"             "Germany:Rugen"              
[39] "Germany:Norderney"           "Norway:Karmoy"
fixes it for me. Curiously, the longitudes add 2.5 degrees on each side.

Roger

PS. For film viewers who enjoyed "Good bye, Lenin!", we still provide 
region="USSR" above!