>>>>> "ms" == marc schwartz <[EMAIL PROTECTED]> >>>>> on Mon, 15 Oct 2007 14:20:16 +0200 (CEST) writes:
ms> On Mon, 2007-10-15 at 10:30 +0200, [EMAIL PROTECTED] wrote: >> Full_Name: Bob O'Hara >> Version: 2.6.0 >> OS: Windows XP >> Submission from: (NULL) (88.112.20.250) >> >> >> Using horizontal=TRUE with boxplot() confuses it as to what is an x- or y-axis. >> At least, xlim= and ylim= are the wrong way round, log="x" (or "y") and xaxt= >> work as expected, I haven't looked at anything else. >> >> Some code to see if you can reproduce the bug (or discover it's in my head...): >> >> boxplot(count ~ spray, data = InsectSprays) >> >> # Try to change x-axis: >> boxplot(count ~ spray, data = InsectSprays, xlim=c(0,50)) >> >> # Plot horizontally: >> boxplot(count ~ spray, data = InsectSprays, horizontal=TRUE) >> >> # Now try to change x-axis: >> boxplot(count ~ spray, data = InsectSprays, horizontal=TRUE, xlim=c(0,50)) >> # Changes y-axis! >> >> # Now try to change y-axis: >> boxplot(count ~ spray, data = InsectSprays, horizontal=TRUE, ylim=c(0,50)) >> # Changes x-axis! >> >> # Plot x-axis on log scale: >> boxplot(count+1 ~ spray, data = InsectSprays, horizontal=TRUE, log="x") >> # Does indeed change x-axis >> >> # Don't add ticks on x-axis: >> boxplot(count ~ spray, data = InsectSprays, horizontal=TRUE, xaxt="n") >> # Works as expected. ms> Hi Bob, ms> No, it's not in your head. This is documented in ?bxp, which is the ms> function that actually does the plotting for boxplot(). See the ms> description of 'pars' in ?bxp: ms> "Currently, yaxs and ylim are used âalong the boxplotâ, i.e., ms> vertically, when horizontal is false, and xlim horizontally." ms> So essentially, the named 'x' and 'y' axes are rotated 90 degrees when ms> you use 'horizontal = TRUE', rather than the vertical axis always being ms> 'y' and the horizontal axis always being 'x'. This has been discussed on ms> the lists previously. Yes; thank you, Marc. And the reason for this is very sensible I think: If you have a longish boxplot() or bxp() command, and you just want to go from vertical to horizontal or vice versa, it makes most sense just to have to change the 'horizontal' flag and not having to see if there are other 'x*' and or 'y*' arguments that all need to be changed as well. Regards, Martin Maechler ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel