stat_sum {ggplot2} | R Documentation |
Sum unique values. Useful for overplotting on scatterplots.
stat_sum(mapping = NULL, data = NULL, geom = "point", position = "identity", ...)
mapping |
The aesthetic mapping, usually constructed
with |
data |
A layer specific dataset - only needed if you want to override the plot defaults. |
geom |
The geometric object to use display the data |
position |
The position adjustment to use for overlappling points on this layer |
... |
other arguments passed on to
|
a data.frame with additional columns
n |
number of observations at position |
prop |
percent of points in that panel at that position |
stat_sum
understands the following aesthetics (required aesthetics are in bold):
x
y
size
ggfluctuation
for a fluctuation diagram,
d <- ggplot(diamonds, aes(x = cut, y = clarity)) # By default, all categorical variables in the plot form grouping # variables, and the default behavior in stat_sum is to show the # proportion. Specifying stat_sum with no group identifier leads to # a plot which is not meaningful: d + stat_sum() # To correct this problem and achieve a more desirable plot, we need # to specify which group the proportion is to be calculated over. # There are several ways to do this: # by overall proportion d + stat_sum(aes(group = 1)) d + stat_sum(aes(group = 1)) + scale_size(range = c(3, 10)) d + stat_sum(aes(group = 1)) + scale_area(range = c(3, 10)) # by cut d + stat_sum(aes(group = cut)) d + stat_sum(aes(group = cut, colour = cut)) # by clarity d + stat_sum(aes(group = clarity)) d + stat_sum(aes(group = clarity, colour = cut)) # Instead of proportions, can also use sums d + stat_sum(aes(size = ..n..)) # Can also weight by another variable d + stat_sum(aes(group = 1, weight = price)) d + stat_sum(aes(group = 1, weight = price, size = ..n..)) # Or using qplot qplot(cut, clarity, data = diamonds) qplot(cut, clarity, data = diamonds, stat = "sum", group = 1)