From: ONKELINX, Thierry <Thierry.ONKELINX_at_inbo.be>

Date: Wed, 30 Mar 2011 11:21:25 +0000

ggplot(d, aes(x = r)) + geom_ribbon(aes(ymax = ..density.., ymin = -..density..), stat = "density") + facet_grid(q ~ p) + coord_flip() ggplot(d, aes(x = r, fill = p)) + geom_ribbon(alpha = 0.2, aes(ymax = ..density.., ymin = -..density..), stat = "density") + facet_wrap( ~ q) + coord_flip()

ir. Thierry Onkelinx

Instituut voor natuur- en bosonderzoek

team Biometrie & Kwaliteitszorg

Gaverstraat 4

9500 Geraardsbergen

Belgium

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. Received on Wed 30 Mar 2011 - 11:30:25 GMT

Date: Wed, 30 Mar 2011 11:21:25 +0000

Dear JP,

Please do not cross post between lists.

Here is a possible solution.

library(ggplot2)

p <- rep(c(rep("condition_a", 4), rep("condition_b", 4)), 2) q <- c(rep("grp_1", 8), rep("grp_2", 8)) r <- sample(1:5, 16, rep = T) d <- data.frame(p, q, r)

ggplot(d, aes(x = r)) + geom_ribbon(aes(ymax = ..density.., ymin = -..density..), stat = "density") + facet_grid(q ~ p) + coord_flip() ggplot(d, aes(x = r, fill = p)) + geom_ribbon(alpha = 0.2, aes(ymax = ..density.., ymin = -..density..), stat = "density") + facet_wrap( ~ q) + coord_flip()

Best regards,

Thierry

ir. Thierry Onkelinx

Instituut voor natuur- en bosonderzoek

team Biometrie & Kwaliteitszorg

Gaverstraat 4

9500 Geraardsbergen

Belgium

Research Institute for Nature and Forest
team Biometrics & Quality Assurance

Gaverstraat 4

9500 Geraardsbergen

Belgium

tel. + 32 54/436 185

Thierry.Onkelinx_at_inbo.be

www.inbo.be

To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher

The plural of anecdote is not data.

~ Roger Brinner

The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey

> -----Oorspronkelijk bericht-----

*> Van: r-help-bounces_at_r-project.org
**> [mailto:r-help-bounces_at_r-project.org] Namens JP
**> Verzonden: woensdag 30 maart 2011 11:26
**> Aan: r-help_at_r-project.org
**> Onderwerp: [R] Violin Plot - using ggplot2
**>
**> Hi there,
**>
**> I am trying to create a violin plot with ggplot2 (which looks awesome
**> by the way). I am probably not understanding the code correctly by
**> this is what I am trying (this works if you want to copy and paste it
**> in R)
**>
**> library(ggplot2)
**> p <- rep(c(rep("condition_a", 4), rep("condition_b", 4)), 2)
**> q <- c(rep("grp_1", 8), rep("grp_2", 8))
**> r <- sample(1:5, 16, rep = T)
**> d <- data.frame(p, q, r)
**> gg1 <- ggplot(d, aes(y=r, x=factor(p)))
**> gg2 <- gg1 + geom_ribbon(aes(ymax = ..density.., ymin = -..density..),
**> stat = "density") + facet_grid(q ~ ., as.table = F, scales = "free_y")
**> + labs(x = "some x desc", y = "some y desc")
**> print(gg2)
**>
**> The result I am getting is posted as an image at
**> http://awesomescreenshot.com/0e8ae8c52 (I tried to draw what I would
**> like to achieve.)
**>
**> What I would like to achieve instead is the equivalent of
**> this using ggplot2
**>
**> library(lattice)
**> bwplot( r ~ p | q,
**> data=d,
**> panel = panel.violin
**> )
**>
**> What I want is to draw traditional violin plots grouping them by
**> grp_1, grp_2 etc (so q above). For each group I have two conditions
**> (p above) which I want to plot violin plots for their values. I want
**> the plots to be vertical (as drawn in red in my image). Any ideas on
**> how to change the above ggplot2 code to do just that? I have been
**> playing with facet_grid all day... Also the values on the axis are
**> incorrect ... they should be in the range 1:5 (as r above) and a plot
**> should show the probability density of that value...
**>
**> Any help? I am going mad...
**>
**> Many Thanks
**> JP
**>
**> ______________________________________________
**> 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.
**>
*

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. Received on Wed 30 Mar 2011 - 11:30:25 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Wed 30 Mar 2011 - 12:10:25 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*