用正交线绘制层次树(HV-Drawing – 二叉树)
Posted
技术标签:
【中文标题】用正交线绘制层次树(HV-Drawing – 二叉树)【英文标题】:drawing hierarchical tree with orthogonal lines ( HV-Drawing – Binary Tree) 【发布时间】:2011-02-23 06:20:40 【问题描述】:我需要绘制一个层次树结构(HV-Drawing – 二叉树),在根和子之间使用正交线(直矩形连接线)(如下所示: http://lab.kapit.fr/display/visualizationlayouts/Hierarchical+Tree+layout )。 我想知道是否有类似的绘制树算法的开源示例,以便我可以在 actionscript 中实现相同的算法。 谢谢 帕拉什
【问题讨论】:
【参考方案1】:我做了一个 C# 版本并将代码放在 CodeProject 上。它位于:
http://www.codeproject.com/KB/WPF/LayeredTreeDraw.aspx
有一个通用部分给出所有节点的位置和一个 WPF 特定实现,它实际上使用直线或您正在寻找的正交线绘制所有内容。
【讨论】:
【参考方案2】:这是我的 Python 3 实现:GitLab(这是内部项目,需要 GitLab 注册)。
该程序仅包含一个文件,因此安装非常简单(克隆存储库并使用必要的参数运行hv-drawing.py
)。
该存储库还包含一些用于绘图的图形示例。
代码注释很好,所以你可以学习算法的实现。
【讨论】:
以上是关于用正交线绘制层次树(HV-Drawing – 二叉树)的主要内容,如果未能解决你的问题,请参考以下文章
新2023Q2模拟题JAVA华为OD机试 - 二叉树层次遍历