[R] split beanplot in ggplot2 - adjusting bandwidth
Andrew Cooper
andrew_cooper at sfu.ca
Mon Jul 29 21:54:37 CEST 2013
Dear R Users,
I'm attempting to create a split beanplot in ggplot2 and have figured most of it out except how to adjust the bandwidth for the density statistic. I read online that geom_violin will not plot 2 separate sets of data and that geom_ribbon should be used to create a split beanplot. So, I was able to create this as a quick example that does a split beanplot of mpg for 6-cylinder vehicle vs 8 cylinder vehicles:
p <- ggplot(mtcars)
p + geom_ribbon(data=subset(mtcars,mtcars$cyl==6),
aes(x=mpg,ymax=..density..,ymin=0),stat="density") +
geom_ribbon(data=subset(mtcars,mtcars$cyl==8),
aes(x=mpg,ymax=0,ymin=-..density..),stat="density")
What I can't figure out is how to adjust the bandwidth (e.g. as with 'adjust' in geom_density) for the density statistic in the ribbon plot to make the density plots either more or less smooth. Or, is there a better way to go about this than what I've currently tried?
Any advice you might have on this would be greatly appreciated! Thank you for your help!
cheers,
Andy
More information about the R-help
mailing list