[R] abline plots at wrong abscissae after boxplot

Brian Wilfley bwilfley at tripleringtech.com
Thu Jun 21 23:44:17 CEST 2007


Hi folks,

I'm using R 2.5.0 under ESS under Windows XP. (This also happens using
the Rgui application.)

I'm trying to add lines to a plot originally made with "boxplot", but
the lines appear in the wrong place. Below is a script that
illustrates the problem

# boxablinetest.R - script to show problem with abline on box plot

x <-  c(  2,  2,  2,  3,  3,  3,  4,  4,  4)
y <-  c(  1,  2,  3,  2,  3,  4,  3,  4,  5)

xymodel <- lm( y~x)

boxplot( y~x)
abline( xymodel)                        # Wrong abcissae
abline( v = 2.5)                        # Wrong abcissa
abline( h = 2.75)                       # Right ordinate

# -------------- end --------------

Here, I'm making a box plot with abscissae that start at 2. The box
plot looks fine: the numbers 2, 3, and 4 appear on the x-axis and the
boxes are centered at 2, 3, and 4.

When I add the first abline, the line appears too low, but actually it
is too far to the right. The abscissae are being interpreted without
realizing that the plot originates at 2, not 1.

The second call to abline should put a vertical line between 2 and 3,
but instead it shows up between 3 and 4. Again, it appears that the
offset in the origin of the boxplot is not accounted for.

Finally the last abline appears where it should: between 2 and 3.
Evidently, ordinate values are correctly interpreted.

Does anyone have any advice?

Thanks very much.

Brian Wilfley



More information about the R-help mailing list