我目前正在研究的系统涉及二元决策树的创建。其中很多。其中一些以 XML 格式存储,因此可以在需要时手动分析它们。
树结构基本上是嵌套的 <NODE> 标签。每个节点也可能有一些定义节点属性的子标签。
我想做的是以图形方式显示树木。垂直或水平无关紧要,但我想使用几何树形布局,例如:
...而不是文件系统浏览器中常用的布局,这不是显示二叉树的最佳方式。
是否有一个基于 .NET 的库,或者有一个独立的工具可以很好地做到这一点?
我目前正在研究的系统涉及二元决策树的创建。其中很多。其中一些以 XML 格式存储,因此可以在需要时手动分析它们。
树结构基本上是嵌套的 <NODE> 标签。每个节点也可能有一些定义节点属性的子标签。
我想做的是以图形方式显示树木。垂直或水平无关紧要,但我想使用几何树形布局,例如:
...而不是文件系统浏览器中常用的布局,这不是显示二叉树的最佳方式。
是否有一个基于 .NET 的库,或者有一个独立的工具可以很好地做到这一点?
图形可视化
所选答案还推荐graphviz,但未提供渲染示例;更重要的是,该答案下面的评论提到graphviz不容易用于问题中所述的目的。
我不同意。我实际上为此目的使用了graphviz——作为一个库(通过pygraphviz提供的python绑定)来绘制输出(即,通过针对训练集运行C4.5算法创建的结构)。将图类型设置为有向图(digraph是正式语法),graphviz 的 SMACOF 算法为您提供了一个开箱即用的漂亮树结构。
例如:
替代文字 http://img205.imageshack.us/img205/9290/btreeingraphviz.png
为了创建下面的图表,我保留了所有影响布局的“图表”参数的默认值(例如,nodesep、ranksep、比率),但“方向”除外,我将其设置为“横向”(默认为'肖像')。