【问题标题】:2D Kernel Density Plot and Transparent Contour Fills in RR 中的 2D 核密度图和透明等高线填充
【发布时间】:2018-01-21 11:11:51
【问题描述】:

我尝试在 R 中使用 ks 包来绘制带有透明填充的二维核密度图 这是我的代码。

library(ks)
B<-matrix(c(3.02,2.71,8.05,1.36,1.18,2.64,1.48,5.51,3.25,2.66,0.15,2.25,3.09,2.49,3.37,4.56,0.15,0.57,2.6,0.24,0.27,0.1,0.34,0.24,0.24,0.24,0.23,0.34,0.36,0.1,12,0.88,0.15,0.2,0.1,11.19,0.1,0.1,0.26,22.3),nrow=20,ncol=2)
f<-kde(B)
png(filename = "KDE_test.png",  units="in", width=5, height=5, res=100)
plot(f,display="filled.contour2",xlim=c(-1,5),ylim=c(-3.5,5),lwd=0,lwd.fc=0.1,drawlabels=FALSE,col=c("transparent",rgb(0,0,255, maxColorValue=255, alpha=50),rgb(0,0,255, maxColorValue=255, alpha=100),rgb(0,0,255, maxColorValue=255, alpha=150)))
dev.off()

但是,我最终得到了一个带有锯齿状边缘的 KDE 图。抱歉,我无法上传我的图片,但请运行此代码,您将看到我正在谈论的图片。

有人知道如何解决这个问题还是我做错了什么?

非常感谢。

【问题讨论】:

    标签: r transparency contour fill kde


    【解决方案1】:

    您可以使用kdegridsize 选项。

    library(ks)
    B <- matrix(c(3.02,2.71,8.05,1.36,1.18,2.64,1.48,5.51,3.25,2.66,0.15,2.25,3.09,
      2.49,3.37,4.56,0.15,0.57,2.6,0.24,0.27,0.1,0.34,0.24,0.24,0.24,0.23,
      0.34,0.36,0.1,12,0.88,0.15,0.2,0.1,11.19,0.1,0.1,0.26,22.3),
      nrow=20, ncol=2)
    
    f<-kde(B, gridsize=1024)
    
    plot(f,display="filled.contour2", xlim=c(-1,5), ylim=c(-3.5,5), 
        lwd=0, lwd.fc=0.1, drawlabels=FALSE, 
        col=c("transparent", 
           rgb(0,0,255, maxColorValue=255, alpha=50), 
           rgb(0,0,255, maxColorValue=255, alpha=100), 
           rgb(0,0,255, maxColorValue=255, alpha=150)))
    

    【讨论】:

    • 谢谢。这很容易。
    猜你喜欢
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 2015-11-05
    • 2019-10-29
    • 1970-01-01
    • 2018-01-27
    • 2021-11-30
    • 1970-01-01
    相关资源
    最近更新 更多