geom_bkde2d | R Documentation |
Perform a 2D kernel density estimation using bkde2D
and display the
results with contours. This can be useful for dealing with overplotting
geom_bkde2d(
mapping = NULL,
data = NULL,
stat = "bkde2d",
position = "identity",
bandwidth = NULL,
range.x = NULL,
lineend = "butt",
contour = TRUE,
linejoin = "round",
linemitre = 1,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
...
)
stat_bkde2d(
mapping = NULL,
data = NULL,
geom = "density2d",
position = "identity",
contour = TRUE,
bandwidth = NULL,
grid_size = c(51, 51),
range.x = NULL,
truncate = TRUE,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
...
)
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
The statistical transformation to use on the data for this
layer, either as a |
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
bandwidth |
the kernel bandwidth smoothing parameter. see
|
range.x |
a list containing two vectors, where each vector contains the
minimum and maximum values of x at which to compute the estimate for
each direction. see |
lineend |
Line end style (round, butt, square). |
contour |
If |
linejoin |
Line join style (round, mitre, bevel). |
linemitre |
Line mitre limit (number greater than 1). |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
... |
Other arguments passed on to |
geom |
default geom to use with this stat |
grid_size |
vector containing the number of equally spaced points in each
direction over which the density is to be estimated. see
|
truncate |
logical flag: if TRUE, data with x values outside the range
specified by range.x are ignored. see |
A sample of the output from geom_bkde2d()
:
Same as stat_contour
geom_contour
for contour drawing geom,
stat_sum
for another way of dealing with overplotting
m <- ggplot(faithful, aes(x = eruptions, y = waiting)) +
geom_point() +
xlim(0.5, 6) +
ylim(40, 110)
m + geom_bkde2d(bandwidth=c(0.5, 4))
m + stat_bkde2d(bandwidth=c(0.5, 4), aes(fill = ..level..), geom = "polygon")
# If you map an aesthetic to a categorical variable, you will get a
# set of contours for each value of that variable
set.seed(4393)
dsmall <- diamonds[sample(nrow(diamonds), 1000), ]
d <- ggplot(dsmall, aes(x, y)) +
geom_bkde2d(bandwidth=c(0.5, 0.5), aes(colour = cut))
d
# If we turn contouring off, we can use use geoms like tiles:
d + stat_bkde2d(bandwidth=c(0.5, 0.5), geom = "raster",
aes(fill = ..density..), contour = FALSE)
# Or points:
d + stat_bkde2d(bandwidth=c(0.5, 0.5), geom = "point",
aes(size = ..density..), contour = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.