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

From: Jim Lemon <jim_at_bitwrit.com.au>
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:

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



R-help_at_r-project.org 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. 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 https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive