# geom_dotplot

##### Dot plot

In a dot plot, the width of a dot corresponds to the bin width (or maximum width, depending on the binning algorithm), and dots are stacked, with each dot representing one observation.

##### Usage

```
geom_dotplot(mapping = NULL, data = NULL,
stat = "bindot", position = "identity", na.rm = FALSE,
binwidth = NULL, binaxis = "x", method = "dotdensity",
binpositions = "bygroup", stackdir = "up",
stackratio = 1, dotsize = 1, stackgroups = FALSE, ...)
```

##### Arguments

- binaxis
- which axis to bin along "x" (default) or "y"
- method
- "dotdensity" (default) for dot-density binning, or "histodot" for fixed bin widths (like stat_bin)
- binwidth
- When
`method`

is "dotdensity", this specifies maximum bin width. When method is "histodot", this specifies bin width. Defaults to 1/30 of the range of the data - binpositions
- When
`method`

is "dotdensity", "bygroup" (default) determines positions of the bins for each group separately. "all" determines positions of the bins with all the data taken together; this is used for aligning dot stacks across multiple - stackdir
- which direction to stack the dots. "up" (default), "down", "center", "centerwhole" (centered, but with dots aligned)
- stackratio
- how close to stack the dots. Default is 1, where dots just just touch. Use smaller values for closer, overlapping dots.
- dotsize
- The diameter of the dots relative to
`binwidth`

, default 1. - stackgroups
- should dots be stacked across groups?
This has the effect that
`position = "stack"`

should have, but can't (because this geom has some odd properties). - mapping
- The aesthetic mapping, usually constructed
with
`aes`

or`aes_string`

. Only needs to be set at the layer level if you are overriding the plot defaults. - data
- A layer specific dataset - only needed if you want to override the plot defaults.
- stat
- The statistical transformation to use on the data for this layer.
- position
- The position adjustment to use for overlappling points on this layer
- na.rm
- If
`FALSE`

(the default), removes missing values with a warning. If`TRUE`

silently removes missing values. - ...
- other arguments passed on to
`layer`

. This can include aesthetics whose values you want to set, not map. See`layer`

for more details.

##### Details

With dot-density binning, the bin positions are
determined by the data and `binwidth`

, which is the
maximum width of each bin. See Wilkinson (1999) for
details on the dot-density binning algorithm.

With histodot binning, the bins have fixed positions and fixed widths, much like a histogram.

When binning along the x axis and stacking along the y axis, the numbers on y axis are not meaningful, due to technical limitations of ggplot2. You can hide the y axis, as in one of the examples, or manually scale it to match the number of dots.

##### Aesthetics

# Use fixed-width bins ggplot(mtcars, aes(x = mpg)) + geom_dotplot(method="histodot", binwidth = 1.5)

# Some other stacking methods ggplot(mtcars, aes(x = mpg)) + geom_dotplot(binwidth = 1.5, stackdir = "center") ggplot(mtcars, aes(x = mpg)) + geom_dotplot(binwidth = 1.5, stackdir = "centerwhole")

# y axis isn't really meaningful, so hide it ggplot(mtcars, aes(x = mpg)) + geom_dotplot(binwidth = 1.5) + scale_y_continuous(name = "", breaks = NA)

# Overlap dots vertically ggplot(mtcars, aes(x = mpg)) + geom_dotplot(binwidth = 1.5, stackratio = .7)

# Expand dot diameter ggplot(mtcars, aes(x =mpg)) + geom_dotplot(binwidth = 1.5, dotsize = 1.25)

# Examples with stacking along y axis instead of x ggplot(mtcars, aes(x = 1, y = mpg)) + geom_dotplot(binaxis = "y", stackdir = "center")

ggplot(mtcars, aes(x = factor(cyl), y = mpg)) + geom_dotplot(binaxis = "y", stackdir = "center")

ggplot(mtcars, aes(x = factor(cyl), y = mpg)) + geom_dotplot(binaxis = "y", stackdir = "centerwhole")

ggplot(mtcars, aes(x = factor(vs), fill = factor(cyl), y = mpg)) + geom_dotplot(binaxis = "y", stackdir = "center", position = "dodge")

# binpositions="all" ensures that the bins are aligned between groups ggplot(mtcars, aes(x = factor(am), y = mpg)) + geom_dotplot(binaxis = "y", stackdir = "center", binpositions="all")

# Stacking multiple groups, with different fill ggplot(mtcars, aes(x = mpg, fill = factor(cyl))) + geom_dotplot(stackgroups = TRUE, binwidth = 1, binpositions = "all")

ggplot(mtcars, aes(x = mpg, fill = factor(cyl))) + geom_dotplot(stackgroups = TRUE, binwidth = 1, method = "histodot")

ggplot(mtcars, aes(x = 1, y = mpg, fill = factor(cyl))) + geom_dotplot(binaxis = "y", stackgroups = TRUE, binwidth = 1, method = "histodot")

*Documentation reproduced from package ggplot2, version 0.9.3.1, License: GPL-2*