题
所以我工作的一个项目,将在结束时,产生了一种使用Flickr的API流程图。您将提供种子标签,程序将使用该种子标签找到有共同的标签等相关的Flickr图片...
我把所有的后端的东西和运行,但我难倒格式。这里是什么,我想它看起来像...一个screenie的
下面是我的问题。有接近每个分支的间距的好方法?通过这个意思,我想有一个功能,我可以简单地创建一个新的节点(或“分支”),并指定我想它现有节点是附加到。这是所有好的和罚款,但我需要能够自动,智能地将新节点页面上,因此不会重叠任何现有的线路或节点。我想这是更通用的编程问题,如果我知道的过程中,我可以编写它,但对于那些有兴趣谁,我在Javascript / HTML / CSS这样的造型,也许调用一些PHP的的Flickr。
随意问任何问题,澄清我的散漫。
解决方案
您可以使用节点之间的弹簧模型。每个节点发挥对所有其他节点的排斥力。允许所有的节点互相推搡了一定的次数,你会拿出一个合理的解决方案。你会希望有一对夫妇的限制,以确保节点不去起飞进入太空,你不要一对夫妇相似的国家之间振荡。
在Javascript / PHP实施它留给读者作为练习读者。
另一种方法是使用一个图形布局程序例如 GraphViz的。
其他提示
我期待看到你的项目的结果。我同意关于使用的graphviz scompt。
不隶属于 StackOverflow