partykit
包在树的终点节点绘制条形图,可以直观地呈现因变量类的后验概率。
我想在标准圆/椭圆下方的内部节点中添加这些条形图。这需要使用node_inner()
和node_barplot()
混合的函数到inner_panel
方法的plot()
参数。
但是这些功能具有相当复杂的内部结构,我不知道如何混合两者以便必须垂直堆叠内部图。
有什么想法吗?
答案 0 :(得分:1)
这是可能的,它看起来不太吸引人。如果要显示拆分变量的名称和p值,最好调整mainlab
的{{1}}参数。在答案中
Ctree classification with weights - results displayed插图中有如何在标题中包含权重 - 以类似的方式显示分割变量和p值。
如果您决定设置一个具有两个子面板的新面板功能,则需要进行一些node_barplot
编程(grid
方法所基于的图形系统)。您需要设置plot()
,然后浏览生成的grid.layout
。
viewport
使用生成的面板功能,您可以执行以下操作:
make_inner_and_barplot <- function(object, ...) {
function(node) {
## layout
pushViewport(viewport(layout = grid.layout(nrow = 2, ncol = 1,
heights = unit(c(0.2, 0.8), "npc"))))
## background color
grid.rect(gp = gpar(fill = "white", col = 0))
## circle
pushViewport(viewport(layout.pos.col = 1, layout.pos.row = 1))
node_inner(object)(node)
popViewport()
## circle
pushViewport(viewport(layout.pos.col = 1, layout.pos.row = 2))
node_barplot(object, id = FALSE, ...)(node)
popViewport(2)
}
}