在 r 中的决策树中叠加直方图

Overlay histogram plot in a decision tree in r

我想创建一个决策树图,它在每个节点中显示一个叠加直方图,如图所示:

以下代码创建左侧图片:

library(earth)
library(rpart)
library(rpart.plot)

a <- rpart(O3~., data=ozone1, cp=.2)
prp(a, type=4, fallen=T, branch=.3, round=0, leaf.round=9,
    clip.right.labs=F, under.cex=1,
    box.palette="GnYlRd",
    prefix="ozone\n", branch.col="gray", branch.lwd=2,
    extra=101, under=T, lt=" < ", ge=" >= ", cex.main=1.5)

我认为 rpart.plot 中的 node.fun 可以完成这项工作,但我不知道如何实现它。

不幸的是,rpart.plot 的当前版本 2.1.2 无法做到这一点。

正如您提到的,您或许可以使用自定义 node.fun 来绘制直方图。但是 rpart.plot 不知道如何计算出直方图的绘制大小,因此它不知道如何在页面上正确定位绘图的元素。

我会将其添加到包 TODO 列表中并考虑实施它,但不幸的是,这不会很快发生。