kernel2d 函数的颜色条图例

问题描述

我使用 spatstat 包和 kernel2d() 函数制作了刚果民主共和国疾病病例点数据的核密度图

kern <- kernel2d(pts,ply,bdw,kernel='quartic')
# plot
plot(ProvinceBorders)
image(kern,add=TRUE)

如何获得颜色条图例?我知道 kern$z 会有我的值,所以我可以找到最大值和最小值,我知道人们喜欢 colorRampPalette() 和类似的东西,但我非常喜欢这些认颜色,我什至不确定有多少颜色它们被归类到“桶”中,这是许多 DIY 和 RcolorBrewer 解决方案所需要的。

谢谢!

map

解决方法

如果你真的在写作时使用 spatstat,你可以这样做:

library(spatstat)
X <- as.ppp(pts,W = ply) ## Requires pts is a data.frame with coords,and ply is an owin object
kern <- density(X,sigma = bdw,kernel='quartic') # Require bdw to be given as a number
# plot
plot(kern) # Automatic color scale
plot(ProvinceBorders,add=TRUE) # Requires ProvinceBorders to be a tess object
,

kernel2dsplancs 包中的一个函数。它与 spatstat 不兼容。

spatstat 包中计算强度核估计的类似函数是 density.ppp,这是通用函数 density 的一种方法。

density.ppp 的结果是一个像素图像(im 类),可以使用 plot.im(通用 plot 的一种方法)立即绘制。默认情况下,plot.im 的输出包括图像右侧的色阶。您可以阅读 plot.im 的在线帮助以了解如何控制它。 应该不需要提取像素值、计算值的范围等。