[R] vis.gam() contour plots

David Winsemius dwinsemius at comcast.net
Tue Oct 13 22:23:31 CEST 2009


On Oct 13, 2009, at 3:46 PM, Gavin Simpson wrote:

> On Mon, 2009-10-12 at 22:20 -0400, David Winsemius wrote:
>> On Oct 12, 2009, at 8:20 PM, Jason Gasper wrote:
> <snip />
>> # contour examples.... vis.gam(g,
>> view=c("x1","x2"),plot.type="contour",color="heat", nlevels=20)
>> Warning messages:
>> 1: In plot.window(...) : "nlevels" is not a graphical parameter
>> 2: In plot.xy(xy, type, ...) : "nlevels" is not a graphical parameter
>> 3: In axis(side = side, at = at, labels = labels, ...) :
>>   "nlevels" is not a graphical parameter
>> 4: In axis(side = side, at = at, labels = labels, ...) :
>>   "nlevels" is not a graphical parameter
>> 5: In box(...) : "nlevels" is not a graphical parameter
>> 6: In title(...) : "nlevels" is not a graphical parameter
>>
>> # This does result in warnings that do not seem correct (since  
>> nlevels
>> is listed as a graphics parameter in the help page of contour)
>
> They are correct for a certain definition of "graphical parameter",  
> and
> 'nlevels' is an argument to contour. IIRC this really refers to things
> in ?par and is a common issue that I have come across when coding
> function that pass some arguments in '...' to other functions and some
> to plotting functions. There are ways around this, but I don't have  
> the
> details to hand - Prof. Ripley suggested one solution that is used
> within base R to get round this problem, and which we subsequently  
> used
> in the vegan package.

This the case. Looking at the code it appears the vis.gam function may  
have been written with the persp plotting case in mind. There is some  
minimal processing of parameters when the call is for "contour", and  
nlevels is not a named argument within vis.gam. If you make it one,  
and then pass it to the contour call within the eval(parse(text= ))  
dispatching strategy, you can avoid the warnings:

vis.gam2(g, view=c("x1","x2"),plot.type="contour",color="heat",  
nlevels=20)
#no warnings

#after defining the function
vis.gam2 <- function (x, view = NULL, cond = list(), n.grid = 30,  
too.far = 0,
     col = NA, color = "heat", contour.col = NULL, se = -1, type =  
"link", nlevels=10,
     plot.type = "persp", zlim = NULL, nCol = 50, ...)
{
     ---snipped unchanged code-----
         if (plot.type == "contour") {
             stub <- paste(ifelse("xlab" %in% dnm, "", ",xlab=view[1]"),
                 ifelse("ylab" %in% dnm, "", ",ylab=view[2]"),
                 ifelse("main" %in% dnm, "", ",main=zlab"), ",...)",
                 sep = "")
             if (color != "bw") {
                 txt <-  
paste("image(m1,m2,z,col=pal,zlim=c(min.z,max.z)",
                   stub, sep = "")
                 eval(parse(text = txt))
                 txt <-  
paste("contour(m1,m2,z,col=contour.col,zlim=c(min.z,max.z)",
                   ifelse("add" %in% dnm, "", ",add=TRUE"), ",  
nlevels= nlevels, ...)",
                   sep = "")
                 eval(parse(text = txt))
             }
             else {
                 txt <-  
paste("contour(m1,m2,z,col=1,zlim=c(min.z,max.z)",
                   stub, sep = "")
                 eval(parse(text = txt))
             }
         }
---snipped more unchanged code-------
}

>
> HTH
>
> G
>
>> but the
>> desired effect seems to be occurring. I have seen such warnings many
>> times before an have learned to ignore them. Whether that is the
>> correct posture to assume, I am not sure.
>>> Thanks
>>
>> --
>>
>> David Winsemius, MD
>> Heritage Laboratories
>> West Hartford, CT
>>
>> ______________________________________________
>> 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.
> -- 
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
> Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
> ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
> Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
> Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
> UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>

David Winsemius, MD
Heritage Laboratories
West Hartford, CT




More information about the R-help mailing list