On 11-05-23 5:55 AM, Pierre Bruyer wrote:
Hello everybody,

I search a function which returns the contour of map with levels like 
contourLines, but I would like this function return the border of the map too, 
because the function contourLines cannot consider the corner of the map and it 
is not adapted to fill polygon after that.


I think writing that would be hard, but you can fake it. Find the range of z first to work out the contour levels you want, then put very large values around the outside of the z matrix. (You can't use Inf, but big finite values will work.) For example:

x <- 1:10
y <- 1:20
z <- outer(x, y, function(x,y) sin(x)+cos(x*y/10))

range(z) # about -2 to 2, so 10000 is much bigger

z <- rbind(10000, z, 10000)
z <- cbind(10000, z, 10000)

x <- c(0.99, x, 10.01)
y <- c(0.99, y, 20.01)

Now contour plots of x,y,z with contour levels in the range of -2 to 2 will show closed contours, and contourLines() will return paths around them. They aren't exactly right (because 10000 is not infinity, and 0.01 is not zero), but should be close enough for graphics purposes.

You'll have to write your own function to handle the general case, but it shouldn't be too hard.

Duncan Murdoch

______________________________________________
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