如何使用Perl从图形中获取节点坐标?

时间:2010-04-30 06:15:13

标签: perl graph flowchart graph-layout

好的,我有一个流程图定义(基本上,每个节点的节点和边缘数组)。 现在我想计算流程中每个任务的坐标, 最好是hierarchycal风格。

我需要像Graph::Easy::Layout之类的东西 但我不知道如何获取节点坐标:我自己渲染节点,我只想检索框坐标/大小。有什么建议吗?

我需要的是即使在Debian存储库中也可以使用的CPAN模块。

1 个答案:

答案 0 :(得分:1)

您可以将tarball从CPAN转换为Debian包。见What’s the best way to turn CPAN modules into Debian packages?

在那里你会找到很多很好的建议和链接。甚至还有一些讨论为什么以这种方式安装模块可能是个坏主意。


<强>更新

对于包含坐标信息的布局,Graph::Layout::Aesthetic可能是您最好的选择。

CPAN上的大多数其他软件包都以某种描述语言(例如Graphviz DOT,GraphML或GDL)生成图形,并依赖其他图形布局库来处理实际的布局任务。具体的例子是Graphviz和aisee。

从其中一个库中询问节点(顶点)的坐标类似于从HTML :: TreeBuilder中询问<P>标记的坐标。

CPAN上有一个名为Graph::Renderer的软件包,但它看起来非常不完整,所以我不愿推荐它。但它可能可以满足您的需求。

Graph::Easy::As_svg实际上是图表,因此可以修改以满足您的需求。