R

时间:2015-06-25 14:31:41

标签: r scatter-plot kernel-density density-plot

我看到beautiful plot,我想重新创建它。这是一个展示我到目前为止所得到的一个例子:

# kernel density scatterplot
library(RColorBrewer)
library(MASS)
greyscale <- rev(brewer.pal(4, "Greys"))
x <- rnorm(20000, mean=5, sd=4.5); x <- x[x>0]
y <- x + rnorm(length(x), mean=.2, sd=.4)
z <- kde2d(x, y, n=100)
plot(x, y, pch=".", col="hotpink")
contour(z, drawlabels=FALSE, nlevels=4, col=greyscale, add=T)
abline(c(0,1), lty=1, lwd=2)
abline(lm(y~x), lty=2, lwd=2)

我努力用颜色填充轮廓。这是smoothScatter或其他套餐的工作吗?我怀疑这可能取决于我对kde2d的使用,如果有的话,有人可以解释这个功能或者链接我一个好的教程吗?

非常感谢!

P.S。最终图像应为灰度

1 个答案:

答案 0 :(得分:3)

好像你想要一个完整的轮廓,而不是一个轮廓。也许

library(RColorBrewer)
library(MASS)
greyscale <-brewer.pal(5, "Greys")
x <- rnorm(20000, mean=5, sd=4.5); x <- x[x>0]
y <- x + rnorm(length(x), mean=.2, sd=.4)
z <- kde2d(x, y, n=100)

filled.contour(z, nlevels=4, col=greyscale, plot.axes = {
    axis(1); axis(2)
    #points(x, y, pch=".", col="hotpink")   
    abline(c(0,1), lty=1, lwd=2)
    abline(lm(y~x), lty=2, lwd=2)
})

给出了

enter image description here