Violin point-style plots to show overlapping points. x must be discrete.

1 2 3 |

`width` |
the maximum amount of spread (default: 0.4) |

`varwidth` |
vary the width by the relative size of each group |

`bandwidth` |
the bandwidth adjustment to use when calculating density Smaller numbers (< 1) produce a tighter "fit". (default: 0.5) |

`nbins` |
the number of bins used when calculating density (has little effect with quasirandom/random distribution) |

`method` |
the method used for distributing points (quasirandom, pseudorandom, smiley or frowney) |

`groupOnX` |
should jitter be added to the x axis if TRUE or y axis if FALSE (the default NULL causes the function to guess which axis is the categorical one based on the number of unique entries in each) |

`dodge.width` |
Amount by which points from different aesthetic groups will be dodged. This requires that one of the aesthetics is a factor. |

Other position.adjustments: `position_beeswarm`

1 2 3 4 5 6 7 8 | ```
ggplot2::qplot(class, hwy, data = ggplot2::mpg, geom='quasirandom')
# Generate fake data
distro <- data.frame(
'variable'=rep(c('runif','rnorm'),each=100),
'value'=c(runif(100, min=-3, max=3), rnorm(100))
)
ggplot2::qplot(variable, value, data = distro, geom = 'quasirandom')
ggplot2::qplot(variable, value, data = distro) + geom_quasirandom(width=0.1)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.