ggplot2 stat_density2d 产生奇怪的三角形

ggplot2 stat_density2d produces strange triangles

我正在尝试使用 ggplot2stat_density2d 在 R 中构建密度热图。虽然它确实为我提供了 2 个轴上的密度图,但它会在预期的热图旁边生成奇怪的三角形空间。

我正在关注这个 example,因此下面的代码会生成热图本身(没有散点图):

dfFilter <- data.frame(matrix(runif(2000, 0.0, 1.0),nrow=1000))

# HEATMAP       
ggplot(dfFilter,aes(x= X1,y= X2))+
stat_density2d(aes(alpha=..level..), geom="polygon")

我的结果看起来和预期的一样,但有一些意想不到的问题。看起来R在连点,但是突然跳到剧情的另一边继续

谁知道可能是什么原因,如何解决?非常感谢!

我相信这只是多边形被裁剪​​以适合原始数据范围的结果。尝试:

ggplot(dfFilter,aes(x=X1,y=X2))+
    stat_density2d(aes(alpha=..level..),geom = "polygon") + 
    lims(x = c(-0.2,1.2),y = c(-0.2,1.2))

特别是,如果您尝试不设置限制 geom = "polygon" 和不设置限制,您将看到等高线剪裁的差异。当 ggplot 尝试绘制多边形时,如果轮廓线已被剪裁,它不知道如何完成圆,可以这么说,所以它会跳来跳去。