Description Usage Arguments Author(s) References Examples
View source: R/geom_pointdensity.R
The pointdensity geom is used to create scatterplots where each point is colored by the number of neighboring points. This is useful to visualize the 2D-distribution of points in case of overplotting.
1 2 3 4 |
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, as a string. |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
... |
Other arguments passed on to |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
Lukas P.M. Kremer
https://GitHub.com/LKremer/ggpointdensity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | library(ggplot2)
library(dplyr)
library(ggpointdensity)
# generate some toy data
dat <- bind_rows(
tibble(x = rnorm(7000, sd = 1),
y = rnorm(7000, sd = 10),
group = "foo"),
tibble(x = rnorm(3000, mean = 1, sd = .5),
y = rnorm(3000, mean = 7, sd = 5),
group = "bar"))
# plot it with geom_pointdensity()
ggplot(data = dat, mapping = aes(x = x, y = y)) +
geom_pointdensity()
# adjust the smoothing bandwidth,
# i.e. the radius around the points
# in which neighbors are counted
ggplot(data = dat, mapping = aes(x = x, y = y)) +
geom_pointdensity(adjust = .1)
ggplot(data = dat, mapping = aes(x = x, y = y)) +
geom_pointdensity(adjust = 4)
# I recommend the viridis package
# for a more useful color scale
library(viridis)
ggplot(data = dat, mapping = aes(x = x, y = y)) +
geom_pointdensity() +
scale_color_viridis()
# Of course you can combine the geom with standard
# ggplot2 features such as facets...
ggplot(data = dat, mapping = aes(x = x, y = y)) +
geom_pointdensity() +
scale_color_viridis() +
facet_wrap( ~ group)
# ... or point shape and size:
dat_subset <- sample_frac(dat, .1) # smaller data set
ggplot(data = dat_subset, mapping = aes(x = x, y = y)) +
geom_pointdensity(size = 3, shape = 17) +
scale_color_viridis()
# Zooming into the axis works as well, keep in mind
# that xlim() and ylim() change the density since they
# remove data points.
# It may be better to use `coord_cartesian()` instead.
ggplot(data = dat, mapping = aes(x = x, y = y)) +
geom_pointdensity() +
scale_color_viridis() +
xlim(c(-1, 3)) + ylim(c(-5, 15))
ggplot(data = dat, mapping = aes(x = x, y = y)) +
geom_pointdensity() +
scale_color_viridis() +
coord_cartesian(xlim = c(-1, 3), ylim = c(-5, 15))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.