Hi Jim Thanks for this. The staxlab function seems very useful. Unfortunately, the rotation option doesn't seem to work for me when the y-axis is on a log scale. It will stagger the labels but not rotate them. There's no error message. On a linear axis the rotation works nicely. Any ideas? The example below works if you omit log='y' or srt=45
Thanks very much Tim #Create plot with log-scale on the y-axis par(mar = c(7, 4, 4, 2) + 0.1) plot(1, type='n', bty='n', xlab="", ylab='Odds Ratio', xlim= c(0.5,4.5), ylim= c(0.75, 2), cex=2, xaxt='n', yaxt='n', cex.lab=1.3, log='y') #Estimates and confidence intervals points(c(1:4),c(1.1,1.32,1.14,1.36), pch=17, cex=1.5, col='blue') segments (c(1:4),c(0.93,1.11,0.94,1.15),c(1:4),c(1.3,1.58,1.37,1.61), col='blue', lwd=2) #Add x- and y-axes axis(1,c(1:4), labels= F) axis(2, at=seq(0.75,2, by=0.25), labels=seq(0.75,2, by=0.25), las=1) # Add x-axis labels labels <- paste("Label", 1:4, sep = " ") staxlab(side=1, at=1:4, labels, srt=45) -----Original Message----- From: Jim Lemon [mailto:j...@bitwrit.com.au] Sent: Tuesday, August 24, 2010 7:48 PM To: tesutton Cc: r-help@r-project.org Subject: Re: [R] Rotate x-axis label on log scale On 08/24/2010 11:44 AM, Tim Elwell-Sutton wrote: > Hi > > I'd appreciate some help with plotting odds ratios. I want to rotate the > labels on the x-axis by 45 degrees. > > The usual way of doing this, using text - e.g. text(1, par('usr')[3]-2.25..) > - gives no result when the y-axis is a log scale. > > I guess this is because, as the par help says, for a logarithmic y-axis: > y-limits will be 10 ^ par("usr")[3:4] > Hi Tim, If you know where to put the labels, try: library(plotrix) staxlab(1,at=...,labels=...,srt=45) Jim ______________________________________________ R-help@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.