Re: [R] Equal vertical spaced labels on plot with log="y"

From: Jim Lemon <>
Date: Thu, 20 Mar 2008 22:21:11 +1100

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:


turn off the log transformation:


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 mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Thu 20 Mar 2008 - 11:20:35 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 20 Mar 2008 - 11:30:23 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive