[R] ggplot2 boxplot: horizontal, univariate

baptiste auguie baptiste.auguie at googlemail.com
Fri Jun 18 17:00:12 CEST 2010


Try this,

qplot(factor(0), mpg, data=mtcars, geom="boxplot", xlab="")+
coord_flip() + scale_x_discrete(breaks=NA)

HTH,

baptiste
On 18 June 2010 16:47, Jacob Wegelin <jacobwegelin at fastmail.fm> wrote:
>
> In ggplot2, I would like to make a boxplot that has the following
> properties:
>
> (1) Contrary to default, the meaningful axis should be the horizontal axis.
>
> Lattice does this, for instance, by
>
> library(lattice);bwplot(~mtcars$mpg)
>
> (2) It is *univariate*, i.e., of a single vector, say mtcars$mpg.  I do not
> wish to make separate plots for the different values of mtcars$cyl.
>
> (3) Nothing on the meaningless axis--the axis that does not correspond to
> values of mtcars$mpg, the axis which by default is horizontal--should
> suggest a scale. Thus, there should be no axis title or label; there should
> be no axis ticks.
>
> Partial solutions:
>
> To achieve (1), one might save a vertical plot (with mpg on the y-axis) as a
> pdf and use Adobe Acrobat to rotate it 90 degrees. But is there not a way to
> do this *within* ggplot2?
>
> Since ggplot2 has been carefully thought out starting with the grammar of
> graphics, I wonder if there is some conceptual argument against making
> univariate boxplots and against boxplots with a horizontal continuous axis.
>
> But in teaching an introductory statistics course, I would like to compare
> the ways that a histogram and a boxplot summarize a single continuous
> variable. Thus I would like the continuous axis to be horizontal in both
> plots.
>
> The following code achieves (2) and part of (3):
>
> library(ggplot2)
>
> qplot(factor(0), mpg, data=mtcars, geom="boxplot", xlab="")+
> opts(axis.text.x = theme_blank(), axis.ticks=theme_blank())
>
> but to remove the ticks from the meaningless (horizontal) axis I had to also
> remove the ticks from the meaningful (vertical) axis.  On page 143 of
> Wickham's ggplot2 book, I find axis.ticks as a theme element but nothing
> like axis.ticks.x.
>
> Is there a way to remove the axis ticks from the x axis and not from the y
> axis?
>
> But, more important: How do I make a boxplot that is rotated (or transposed)
> from the default, so that the x axis carries the information?
>
> Thanks
>
> Jacob A. Wegelin
> Assistant Professor
> Department of Biostatistics
> Virginia Commonwealth University
> 730 East Broad Street Room 3006
> P. O. Box 980032
> Richmond VA 23298-0032
> U.S.A.
>
> ______________________________________________
> 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.
>



More information about the R-help mailing list