Я использую R. Почему плотности между этими двумя функциями различаются? Я просмотрел файлы справки, но не увидел многого, чтобы указать, в чем причина. Я думал, что мое растяжение журнала может быть причиной изменения, учитывая, что моя шкала плотности stat_bin2d очень похожа на stat_density_2d до растяжения оси. Однако я вижу тот же эффект в этом ответе и они имеют линейные шкалы осей 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()
Отсутствие логарифмического преобразования масштабов x и y (и drop=TRUE) < img src="https://i.stack.imgur.com/hYKKN.png" alt="введите здесь описание изображения">
stat_density2d()