R:ggplot中密度2d的晶格等价物?

数据挖掘 r ggplot2
2022-02-08 17:22:54

晶格中 geom_density2d 的等价物是什么?本质上,我正在尝试使用格子创建此图:

在此处输入图像描述

我不认为轮廓图或水平图是我想要的,在尝试它时,它给了我一个空白图?

1个回答

使用估计密度的自定义面板函数(例如使用MASS::kde2d()):

library("lattice")
library("MASS")

set.seed(1);
dat <- data.frame(x=rnorm(100), y=rt(100, 5))

xyplot(y~x, data=dat,
       panel=function(x, y, ...) {
         dens <- kde2d(x=dat$x, y=dat$y, n=50)
         tmp <- data.frame(x=dens$x,
                       y=rep(dens$y, each=length(dens$x)),
                       z=as.vector(dens$z))
         panel.levelplot(tmp$x, tmp$y, tmp$z, contour=TRUE,
                         subscripts=1:nrow(tmp), region=FALSE, ...)
         panel.xyplot(x, y, ...)
       })

格子图