Sundar -

Thanks for the help! Here is my modified code. Just what I wanted. However, it is odd that the at= call in contourplot won't take a single value - I have had to trick it into plotting the "0" contour along with the 0.5 to make this work.
contourplot(preds~size+trt|Size.Name,
        data=pred.dat,layout=c(2,4),
        par.strip.text=list(cex=1.2),
        scales=list(cex=0.5),
        xlab=list("Size",cex=1.2),
        ylab=list("Treatment",cex=1.2),
        panel=function(at,lty,...){
                at.1<-c(0,0.5)
                at.2<-c(0.025,0.975)
                panel.contourplot(at=at.1,lty=1,...)
                panel.contourplot(at=at.2,lty=2,...)
                panel.grid(h=-1,v=-1,col="grey",...)})

Andrew

On 22 Feb 2009, at 21:25, Sundar Dorai-Raj wrote:

The only way I can figure out to do this is to use two calls to
panel.contourplot:

library(lattice)
x <- seq(-2, 2, length = 20)
y <- seq(-2, 2, length = 20)
grid <- expand.grid(x=x, y=y)
grid$z <- dnorm(grid$x) * dnorm(grid$y)
contourplot(z ~ x * y, grid,
           panel = function(at, lty, col, ...) {
             at.o <- at[seq(1, length(at), 2)]
             at.e <- at[seq(2, length(at), 2)]
             panel.contourplot(at = at.o, lty = 1, col = "blue", ...)
             panel.contourplot(at = at.e, lty = 4, col = "red", ...)
           },
           at = pretty(grid$z, 10))

HTH,

--sundar

On Sun, Feb 22, 2009 at 12:45 PM, Andrew Beckerman
<a.becker...@sheffield.ac.uk> wrote:
Dear all -

I would like to adjust the line type of specific contours in contourplot from the lattice package, but it seems like lty does not take a list in the
call.

Here is my call to contourplot:

contourplot(preds~size+trt|Size.Name,
      data=pred.dat,layout=c(2,4),
      at=c(0.025,0.5,0.975),
      par.strip.text=list(cex=1.2),
      scales=list(cex=0.5),
      xlab=list("Size",cex=1.2),
      ylab=list("Treatment",cex=1.2),
      panel=function(x,y,z,...){
              panel.contourplot(x,y,z,lwd=1,...)
              panel.grid(h=-1,v=-1,col="grey",...)})

I would like to specify lty=c(2,1,2) corresponding to the
at=c(0.025,0.5,0.975), and have tried this in both the core part of the call, and in panel.countourplot. However, it only recognises the first
type.

If there is no straightforward answer, I can provide the data.

Best wishes,
Andrew

R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1

locale:
en_GB.UTF-8/en_GB.UTF-8/C/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] MASS_7.2-45     lattice_0.17-17

loaded via a namespace (and not attached):
[1] grid_2.8.1

______________________________________________
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.

++++++++++++++++++++++++++++++++++++
Dr. Andrew Beckerman
Department of Animal and Plant Sciences
University of Sheffield
Sheffield S10 2TN
UK

a.becker...@sheffield.ac.uk

______________________________________________
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