R中stat_bin2d()和stat_density2d()之间的密度尺度差异

时间:2016-10-18 22:53:59

标签: r ggplot2 kernel-density

我正在使用R.为什么这两个函数之间的密度不同?我查看了帮助文件但是看不清楚原因是什么。我认为我的日志拉伸可能会导致更改,因为我的stat_bin2d密度标度与轴拉伸前的stat_density_2d非常相似。但是我在这个answer中看到相同的效果,它们具有线性x / y轴刻度。

这是我的代码:

gg <- ggplot(df, aes(x=x, y=y))

# log10 scale x and y axes
gg <- gg + scale_y_log10(limits=c(0.1,1500), breaks = trans_breaks("log10", function(x) 10^x), labels = trans_format("log10", math_format(10^.x))) +
  scale_x_log10(limits=c(0.009,100), breaks = trans_breaks("log10", function(x) 10^x), labels = trans_format("log10", math_format(10^.x)))

# using stat_density2d
gg <- gg + stat_density2d(aes(fill = ..density..), geom="tile", contour=FALSE, n=40)

# using stat_bin2d
gg <- gg + stat_bin2d(bins = 40, aes(fill = ..density..), drop = FALSE)

stat_bin2d()

enter image description here

没有x和y的对数转换(和drop = TRUE) enter image description here

stat_density2d()

enter image description here

0 个答案:

没有答案