dme*_*meu 5 plot binary-tree r party par
我想在图的上部绘制二叉树,并在第二部分(底部)制作第二个二叉树。下面是一些示例代码来显示,树的图完全忽略了由设置的分区选项par()
library("party")
### regression
airct <- ctree(Ozone ~ ., data = subset(airquality, !is.na(Ozone)))
### classification
irisct <- ctree(Species ~ .,data = iris)
par(mfrow = c(2, 1))
plot(airct)
plot(irisct)
Run Code Online (Sandbox Code Playgroud)
此代码不会在同一图(页面)中绘制两棵树。我该如何纠正?
即使遵循非常详细的答案在这种情况下也不起作用:由 'plot' 和 'ggplot' 并排生成的绘图 ctree 的绘图会忽略所有已建立的选项。
party及其后续包中的绘图partykit是在 中实现的grid,因此其中的base图形选项不起作用。除了来自评论的评论之外,您还可以使用它来实现类似的结果。par()mfrowgrid.layout()
在普通网格中这样做有点技术性,但代码应该不会太难理解:
grid.newpage()
pushViewport(viewport(layout = grid.layout(2, 1)))
pushViewport(viewport(layout.pos.row = 1, layout.pos.col = 1))
plot(airct, newpage = FALSE)
popViewport()
pushViewport(viewport(layout.pos.row = 2, layout.pos.col = 1))
plot(irisct, newpage = FALSE)
popViewport()
Run Code Online (Sandbox Code Playgroud)
争论的原因newpage = FALSE是默认情况下绘图是在新页面上绘制的,而不是添加到可能存在的绘图中。
| 归档时间: |
|
| 查看次数: |
666 次 |
| 最近记录: |