xyplot: logarithmic y-axis
I added logY as the last argument to xyplot and in my curve function. I got
the following error message:
Error in myCurve(x) : argument "log" is missing, with no default
myCurve <-function(x, log) {
f <- ... # calculate curve here
if (log==T) f <- log10(f)
return(f)
}
logY=T
xyplot(Conc ~ Time | Subj,
groups=Dose,
data = mydata,
scales=list(x=list(at=seq(0,96,24)), y=list(log=logY)),
panel = function(...) {
panel.abline(h=c(0, 50, 100, 150, 200, 250) ,
v=c(0,24,48,72,96), col.line="gray")
panel.xyplot(...)
panel.curve(myCurve, from=0, to=96, n=300, ..., log=logY)
},
logY
)
Deepayan Sarkar wrote:
On 12/15/06, RMan54 <RMan54 at cox.net> wrote:
Please take no offence since none was intended. What I meant is that it should be simple for me to know how to do this but it isn't because of my inexperience. I think that the lattice package is great.
I didn't mean to suggest that I was offended. I only agreed with you that it would be nice if there were a way of knowing inside the panel function whether a log scale is being used, and informing you that there isn't.
However, how can I pass on my own varaibles through xyplot?
Any arguments not recognized by xyplot will be passed to the panel function. -Deepayan
Thanks, -Rene Deepayan Sarkar wrote:
On 12/15/06, RMan54 <RMan54 at cox.net> wrote:
This should be simple but I am struggling. I like to easily switch in xyplot between a linear or logarithmic y-axis by setting a logical flag logY
to
False or True. This switch changes the scales argument of xyplot. I
found
out that the original two-dimentional data (Conc vs Time in my case)
are
converted to log10(Conc) if log=TRUE in scales, but it appears that functions like panel.curve need to provide the y values in log10 form
(if
there is an automatic method, I would like to know). I therefore like
to
pass on the value logY to my custom panel.curve function. How do I do that? I think that the value of logY should go into xyplot that should pass
it
on to the panel function and then to the panel.curve function.
It probably should, but doesn't. -Deepayan
______________________________________________ R-help at stat.math.ethz.ch 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.
View this message in context: http://www.nabble.com/xyplot%3A-logarithmic-y-axis-tf2829755.html#a7901073 Sent from the R help mailing list archive at Nabble.com.