I've been struggling to understand what exactly stat_...()
functions do for quite a while, yet without a clear answer. Let me start with an example code.
Code 1:
sample_data = tibble(x=rnorm(1000), y=rnorm(1000))
ggplot(sample_data, aes(x=x, y=y)) + geom_point()
Code 2:
ggplot(sample_data, aes(x=x, y=y)) + geom_point(stat="density_2d")
Code 3:
ggplot(sample_data, aes(x=x, y=y)) + geom_point(stat="density")
#Error: geom_point requires the following missing aesthetics: y
I know that there is no point using stat="density_2d"
or stat="density"
with geom_point()
. I'm just trying to understand what exactly stat_density_2d()
and stat_density()
do behind the scene. Can anyone explain why the results of Code 1 and Code 2 differ, and why Code 3 throws an error? And what stat_...()
functions (stat_bin()
, stat_contour()
, stat_boxplot()
etc) do in general?