I would like to plot two series of ten violin plots one over the second :
library(ggplot2)
#generate some data
coco1<-rnorm(10000,0,1)
coco2<-c(runif(10000))
decile<-rbinom(10000,9,1/2)+1
coconut<-data.frame(coco1,coco2,decile)
#draw the violin plots of the coco1 serie
p <- ggplot(coconut, aes(factor(decile), coco1))
p<-p + geom_violin(aes(alpha=0.3,colour="#1268FF"))
p
#draw the violin plots of the coco2 serie
q <- ggplot(coconut, aes(factor(decile), coco2))
q<-q + geom_violin(aes(alpha=0.3,colour="#3268FF"))
q
I would like to plot the violin plot "p" and "q", on the same graph, and I want each violin plot of "q" to be over the corresponding violin plot of "p".
In ggplot2, as its doc explains, Violin Plot is a blend of geom_boxplot () and geom_density (): a violin plot is a mirrored density plot displayed in the same way as a boxplot. After passing the data to ggplot () function with mapping information, we add geom_violin () function to make simple violin plot.
This R tutorial describes how to create a violin plot using R software and ggplot2 package. violin plots are similar to box plots, except that they also show the kernel probability density of the data at different values.
A quick look at the violin plot shows that is is very similar to boxplot with additional density information makes the box look like a violin. For example, we have fewer data points at the thin part of violin plot and a lot more data points when the violin plot is thicker/wider.
Dots (or points) can be added to a violin plot using the functions geom_dotplot() or geom_jitter() : Change violin plot colors by groups. Change violin plot line colors. Violin plot line colors can be automatically controlled by the levels of dose :
You can just add the geom_violin of the second plot to your first one:
p <- ggplot(coconut, aes(factor(decile), coco1))
p <- p + geom_violin(aes(colour = "#1268FF"), alpha = 0.3)
q <- p + geom_violin(aes(y = coco2, colour = "#3268FF"), alpha = 0.3)
Now, q contains both versions of the violins.

By the way: If you want to get rid of the colour legend, you have to specify the colour outside of aes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With