[R] Equal vertical spaced labels on plot with log="y"
Jim Lemon
jim at bitwrit.com.au
Thu Mar 20 12:21:11 CET 2008
Daniel Brewer wrote:
> Hello,
>
> I have a series of labels that I want to place on a plot with a log
> scale y axis. I want these labels to be equally spaced vertically as
> seen on the plot.
>
> I have been trying this:
>
> ylab <- 160 - log2(1:length(labels))
>
> but that does not seem to work (where 160 is basically the top of the plot).
>
Hi Daniel,
The method I use is to get the "real" coordinates on the plot:
xylim<-par("usr")
turn off the log transformation:
par(ylog=FALSE)
say I have three labels that I want to space:
ypos<-xylim[3]+(xylim[4]-xylim[3])*c(0.2,0.5,0.8)
text(xpos,ypos,c("first","second","third"))
# turn the y log transformation on again if necessary
par(ylog=TRUE)
I assume you can work out xpos for yourself.
Jim
More information about the R-help
mailing list