On 2/2/2007 8:07 AM, Lorenzo Isella wrote:
> Dear All,
> Say you want to plot, on the same figure two quantities, concentration
> and temperature, both as function of the same variable.
> I'd like to be able to put a certain label and scale on the y axis on
> the left of the figure (referring to the temperature) and another
> label and scale for the concentration on the right.
> Any suggestion about what to do?
> I am sure it is trivial, but I could not find what I needed on the
> net. I found some reference about a plot.double function by Anne York,
> but I do not think that I need anything so elaborate.
> Many thanks
One way is to work out the linear transformation that puts the other one
in the scale of the one you want on the left axis, then plot both and
manually apply an axis to the right side.
For example:
x <- 1:10
temp <- rnorm(10, mean=5-20*x)
conc <- rnorm(10, mean=x)
b <- diff(range(temp))/diff(range(conc))
a <- min(temp) - b*min(conc)
par(mar=c(5,5,5,5))
plot(x, temp, ylim = range(c(temp, a + b*conc)), type='l')
lines(x, a + b*conc, lty=2)
ticks <- pretty(conc)
axis(4, at=a + b*ticks, labels=ticks)
mtext("conc", 4, 3)
legend("top", c("temp", "conc"), lty=1:2)
______________________________________________
[email protected] 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.