php和前端的关联,关联关系前端展现

前段时间,项目中需要实现模块关联关系的展现,这种关系上下游的归属方不确定,也就是箭头方向不确定,而且模块间的关系复杂,就需要一种比较灵活的算法来实现这种布局。

在最开始选择了d3 force 来实现这种布局,如果数据是呈现为树形结构,或者关系不复杂的时候,或者模块很多,但是关联关系不复杂的时候,这种展现方式还是很美的。但是如果关联关系复杂,就会显得很乱,因为模块与模块之间的线无法按最优的方式来显示。如果想看d3 force 的效果或者了解d3 force 的用法,请参考 http://blog.segmentfault.com/joanna123/1190000000578378 这篇文章。

经过组内同学的讨论与研究,后来选择了使用graphviz。graphviz 能够在如果模块是树形结构能够很好的展现成树形结构,如果不是树形结构,会把相同层级的模块在一行展示。这种布局远远优于d3 force 的布局。

展现的结果如图:

graphviz是贝尔实验室几个计算机牛人设计的一个开源 的图表(计算机科学中数据结构中的图)可视化项目,主要用C语言实现,主要实现了一些图布局算法。通过这些算法,可以将图中的节点在画布上比较均匀的分 布,缩短节点之间的边长,并且尽量的减少边的交叉。而且生成的图是svg标签,方面在此基础上添加各种交互。

目前php graphviz的使用我只在linux 使用成功了,Graphviz.php文件中引用了 require_once System.php 这个文件,在windows下没有安装成功,如果哪位高手运行成功了,可告诉我。

前段时间,项目中需要实现模块关联关系的展现,这种关系上下游的归属方不确定,也就是箭头方向不确定,而且模块间的关系复杂,就需要一种比较灵活的算法来实现这种布局。 在最开始选择了d3 force 来实现这种布局,如果数据是呈现为树形结构,或者关系不复杂的时候,或者模块很多,但是关联关系不复杂的时候,这种展现方式还是很美的。但是如果关联关系复杂,就会显得很乱,因为模块与模块之间的线无法按最优的方式来显示。如果想看d3 force 的效果或者了解d3 force 的用法,请参考 http://blog.segmentfault.com/joanna123/1190000000578378 这篇文章。 经过组内同学的讨论与研究,后来选择了使用graphviz。graphviz 能够在如果模块是树形结构能够很好的展现成树形结构,如果不是树形结构,会把相同层级的模块在一行展示。这种布局远远优于d3 force 的布局。 展现的结果如图: graphviz是贝尔实验室几个计算机牛人设计的一个开源 的图表(计算机科学中数据结构中的图)可视化项目,主要用C语言实现,主要实现了一些图布局算法。通过这些算法,可以将图中的节点在画布上比较均匀的分 布,缩短节点之间的边长,并且尽量的减少边的交叉。而且生成的图是svg标签,方面在此基础上添加各种交互。 目前php graphviz的使用我只在linux 使用成功了,Graphviz.php文件中引用了 require_once System.php 这个文件,在windows下没有安装成功,如果哪位高手运行成功了,可告诉我。
经验分享 程序员 微信小程序 职场和发展