【问题标题】:Tool for displaying binary decision tree显示二叉决策树的工具
【发布时间】:2009-10-14 10:28:44
【问题描述】:

我目前正在研究的系统涉及二叉决策树的创建。其中很多。其中一些以 XML 格式存储,因此可以在需要时手动分析。

树形结构基本上是嵌套的标签。每个节点也可能有一些子标签来定义节点的属性。

我想做的是以图形方式显示树。垂直或水平无关紧要,但我想使用几何树形布局,例如像这样:

...而不是文件系统浏览器中常用的布局,这不是显示二叉树的最佳方式。

是否有基于 .NET 的库或独立工具可以很好地做到这一点?

【问题讨论】:

    标签: .net xml binary-tree data-visualization


    【解决方案1】:

    你看过Graphviz 吗? .Net 有一些语言绑定(请参阅resources),它可以以多种格式输出(因此您可以使用 SVG/HTML/Flex、独立查看器等查看)

    【讨论】:

    • 谢谢,我瞥见了它,但它似乎使用专有输入语言而不是 XML?我会更彻底地检查一下。
    • 这是他们自定义的文本格式,但很容易生成,尤其是使用库。我宁愿不称它为“专有”,它有据可查且开放。
    • 同意。它不是 XML,但它已经成熟且常用
    • 再次感谢。我查看了使用 Graphviz 进行可视化的 .NET 资源。这显然是可行的,尽管间接性比我希望的要多。我将把问题留待一会儿......
    • +1,尽管按左/右顺序排列 graphviz 可能更困难。
    【解决方案2】:

    图形可视化

    所选答案还推荐 graphviz,但未提供渲染示例;更重要的是,该答案下方的 cmets 提到 graphviz 不容易用于问题中所述的目的。

    我不同意。我实际上使用 graphviz 来达到这个目的——作为一个库(通过 pygraphviz 提供的 python 绑定)来绘制输出(即结构通过对训练集运行C4.5 algorithm 创建)。将图类型设置为有向图(digraph 是正式语法),graphviz 的 SMACOF 算法为您提供了一个很好的开箱即用的树结构。

    例如:

    alt text http://img205.imageshack.us/img205/9290/btreeingraphviz.png

    为了创建下面的图表,我保留了影响布局的所有“图表”参数的默认值(例如,nodesep、ranksep、比率),但“方向”除外,我将其设置为“横向” (默认为“肖像”)。

    【讨论】:

      【解决方案3】:

      我在 CodeProject 上偶然发现了一个基于 WPF 的包:

      A Graph Tree Drawing Control for WPF

      看起来很简单,应该可以满足我的需求。有这方面的cmets吗?

      【讨论】:

        猜你喜欢
        • 2013-01-07
        • 2014-02-07
        • 1970-01-01
        • 2022-01-13
        • 2013-08-24
        • 2012-10-12
        • 2018-06-16
        • 2019-08-15
        • 1970-01-01
        相关资源
        最近更新 更多