suppressing non-integer labels for plot x-axis
On Thu, 2004-02-19 at 07:20, Jonathan Williams wrote:
Dear R-helpers, I am having difficulty making R plot only integer labels on the x-axis of a simple graph. I want to plot the median values of a score on each of three occasions. Non-integer occasions are impossible. But, R keeps labelling the x-axis with half-occasions, despite my attempts to stop this using the "xaxs" and "xaxp" parameters of 'plot'. p1=c(1,2,3); p2=c(5,15,25) plot(p1,p2,xlab='Occasion', ylab='Score', xlim=c(1,3), ylim=c(0,30), xaxp=c(1,3,3), xaxs='r') Could someone let me know how to suppress the non-integer labels?
If you want finer control over the axis labeling, it is generally best to suppress the axis or axes in question and explicitly draw the axis using the axis() function. By default, the tick marks and labels will be the result of using the pretty() function, based upon the range of values you provide. Thus you get:
pretty(1:3)
[1] 1.0 1.5 2.0 2.5 3.0
To avoid this and have more control, do something like:
p1=c(1, 2, 3)
p2=c(5, 15, 25)
# Use 'xaxt = "n"' to suppress the x axis
plot(p1, p2, xlab = 'Occasion', ylab = 'Score',
xlim = c(1, 3), ylim = c(0, 30), xaxt = "n")
# Now call axis to draw tick marks and labels at 1:3
axis(1, at = 1:3)
See ?pretty, ?plot.default and ?axis for more information.
HTH,
Marc Schartz