On Wed, 28 Sep 2011, Jean V Adams wrote:
> I want to overlay a small inset map on top of another map, but I can't
> figure out how to do it.
> For example, here are two different maps:
> 
> # map 1 - Ohio
> map("state", region= "ohio")
> 
> # map 2 - US with Ohio darkened
> map("state")
> map("state", region="ohio", fill=T, add=T)
> 
> I would like to add map 2 as a small inset in the corner of map 1.
> I have tried:
> 
> map("state", region= "ohio")
> par(new=TRUE, mar=c(3, 3, 15, 15))
> map("state")
> map("state", region="ohio", fill=T, add=T)
> 
> but this seems to erase map 1 and replace it with a full size version of
> map 2.
> 
> I can successfully overlay an unrelated plot using similar code:
> 
> map("state", region= "ohio")
> par(new=TRUE, mar=c(3, 3, 15, 15))
> plot(1:10, 1:10)
> 
> So, there must be something about the maps() function that I'm tripping
> over.

I think the problem is that map() 'insists' (in some sense) on a clean frame so 
it can get 
the aspect ratio right.

> 
> Any suggestions?
> 
How about something like:
map("state", region= "ohio", xlim=c(-85, -80), ylim=c(38, 42))
par(usr=c(-216, -66, 24, 144))          # you should be able to 'automate' this 
calculation
map("state", add=T)
map("state", region="ohio", fill=T, add=T)

HTH
Ray Brownrigg

> I am using R for Windows 2.13.0
> and the maps package version 2.1-5.
> 
> Jean
> 
> 
> `�.,,  ><(((�>   `�.,,  ><(((�>   `�.,,  ><(((�>
> 
> Jean V. Adams
> Statistician
> U.S. Geological Survey
> Great Lakes Science Center
> 223 East Steinfest Road
> Antigo, WI 54409  USA

______________________________________________
R-help@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.

Reply via email to