[R] Secondary Y axis title
John Theal
jtheal at free.fr
Tue Oct 23 22:01:02 CEST 2007
Excellent. Thank you both for the help. Just what I was looking for.
On 21-Oct-07, at 12:18 AM, Dave Hewitt wrote:
> The controls for the margin sizes, which set the amount of space
> allocated for the labels, are the 'mai' numbers in the first 'par'
> call. The fourth number changed to 0.9 or greater should give you
> more room like you're looking for.
>
> You can use the alternative 'mtext' way of adding the label (it's
> simpler), which I have used below to make the right label appear
> the same distance from the axis as the left label (option "line =
> 3"). I don't see how to adjust the reading direction of the label
> to be top-to-bottom with 'mtext', so I guess you'll need the 'text'
> way of doing it if you want that orientation (although I don't
> understand the 'usr' positions that define the location).
>
> Gabor, do you know how to change the reading direction with
> 'mtext'? I tried 'srt' and that did not work.
>
>
> library(zoo)
>
> set.seed(1)
> z <- zoo(cbind(A = cumsum(rnorm(100)), B = cumsum(rnorm(100, mean =
> 0.2))))
>
> par(mai = c(.8, .8, .2, .9)) # Or change '.9' to a larger number
> for even more room (the units are inches)
>
> plot(z[,1], type = "l", xlab = "X axis label", ylab = colnames(z)
> [1], lty = 1, lwd = 2)
>
> par(new = TRUE)
>
> plot(z[,2], type = "l", ann = FALSE, yaxt = "n", col = "blue", lty
> = 2, lwd = 2)
>
> axis(4)
>
> legend(x = "topleft", bty = "n", lty = c(1,2), lwd = c(2,2),
> col = c("black", "blue"), legend = paste(colnames(z), c
> ("(left y-axis)", "(right y-axis)")))
>
> mtext(colnames(z)[2], 4, line = 3, col = "blue")
>
> --Dave
>
> At 11:42 PM 10/20/2007 +0200, John Theal wrote:
>> I still haven't resolved this problem. However, when I run the
>> plot.zoo example the label appears, it also appears if I enter the
>> commands manually. The problem that persists is that the label
>> has to lie so close to the secondary y axis, that (in my case) it
>> becomes almost indistinguishable from the axis scale labels. If
>> the label is long, then it over-writes some of the scale
>> labeling. I thought it might be do to the way the Quartz window
>> manager handles the figure margins (under Mac OS X), but it looks
>> as though maybe this is not the case.
>>
>> I'm running the same versions of R (2.6.0, unpatched) and zoo
>> (1.4-0) as Gabor. I am using R under Mac OS X.
>> Dave Hewitt wrote:
>>> I was curious about the exact same question that John Theal posed
>>> - how to get a second y-axis label for a plot of two data series
>>> against a common x (in my case, time).
>>>
>>> I tried two different methods - one in lattice and one in plot.
>>> Both times the y-axis on the right side appears but the label
>>> does not. Similar to John's comment, it appears that there is not
>>> enough room for the label.
>>>
>>> Gabor mentioned that the plot.zoo examples give a plot like this.
>>> When I run that series of examples, #7 appears to be what Gabor
>>> was referring to, but even there the label for the right-hand y-
>>> axis is missing.
>>>
>>> Help?
>>>
>>> Dave Hewitt
>
>
More information about the R-help
mailing list