如何绘制大型ctree()以避免重叠节点
当我从如何绘制大型ctree()以避免重叠节点,r,output,decision-tree,R,Output,Decision Tree,当我从partypackage绘制ctree()的决策树结果时,字体太大,框也太大。它们与其他节点重叠 有没有办法自定义plot()的输出,使框和字体更小 简短的回答似乎是:不,您不能更改字体大小,但还有一些好的选择 我知道三种可能的解决办法。首先,可以更改绘图中的其他参数,使其更紧凑。其次,您可以将其写入图形文件并查看该文件。第三,您可以在partykit包中使用ctree()的另一种实现,这是一些作者编写的较新的包 默认绘图示例 这稍微好一点,可以进一步改进。为了弄清楚这些细节,我最初做了
party
package绘制ctree()
的决策树结果时,字体太大,框也太大。它们与其他节点重叠
有没有办法自定义
plot()
的输出,使框和字体更小 简短的回答似乎是:不,您不能更改字体大小,但还有一些好的选择
我知道三种可能的解决办法。首先,可以更改绘图中的其他参数,使其更紧凑。其次,您可以将其写入图形文件并查看该文件。第三,您可以在partykit包中使用ctree()的另一种实现,这是一些作者编写的较新的包
默认绘图示例
这稍微好一点,可以进一步改进。为了弄清楚这些细节,我最初做了class(airct)
,它返回了“BinaryTree”。有了这些信息,我开始阅读?plot.BinaryTree
写入文件
第二个简单的解决方案是将绘图写入文件,然后查看文件。您可能需要调整设置以找到最佳匹配
png("airct.png", res=80, height=800, width=1600)
plot(airct)
dev.off()
用partykit包打印
最后,您可以使用一些相同的作者对party包的更新且尚未完成的重新实现。此时(2012年12月),他们唯一重新完成的功能是ctree()
。此版本允许您更改字体大小
library(partykit)
airct <- ctree(Ozone ~ ., data = airq)
class(airct) # different class from before
# "constparty" "party"
plot(airct, gp = gpar(fontsize = 6), # font size changed to 6
inner_panel=node_inner,
ip_args=list(
abbreviate = TRUE,
id = FALSE)
)
库(partykit)
airct另一个选择(它不会改变你想要的,但可能会解决潜在的问题)是改变图形本身的大小,正如我在课堂上为我的作业所学的那样
更换以下部件中的r:
{r}
与:
其中,X和Y需要由您根据您认为更好的尺寸选择的数字来替换
,将在整个文档中更详细、更全面地讨论此操作。谢谢你,Matt。您是否碰巧知道我可以向每个圆节点显示N=?我一直在找,但找不到。谢谢你,恐怕不要了。如果您愿意切换方法,您当然可以使用rpart:library(partykit);airct=rpart(臭氧),数据=airq;绘图(airct);text(test,use.n=T,all=T)
对于任何方法,您都应该能够确定Ns,只是它们在绘图方法的灵活性方面有所不同。JPC,您最好检查以显示n=
library(partykit)
airct <- ctree(Ozone ~ ., data = airq)
class(airct) # different class from before
# "constparty" "party"
plot(airct, gp = gpar(fontsize = 6), # font size changed to 6
inner_panel=node_inner,
ip_args=list(
abbreviate = TRUE,
id = FALSE)
)
{r}
{r, fig.width=X, fig.height=Y}