我正在尝试做一个半自动的图形布局程序。读取输入后,程序应生成一个图形(具有指定的布局)。棘手的部分是用户应该能够选择节点的子集并使用另一种算法重新排列它们(同时将其余部分保存在其原始位置)。我经历了 graphviz,虽然这个选项是可能的,但它非常有限(仅将“pin”与“neato”和“fdp”算法一起使用......我更希望我的图表是定向的)
另一个要求是价格。我已经看到 yworks 可以满足我的需求,但它需要付费......
在这一点上,我会选择我能掌握的任何语言
目前我正在试用 graphsharp,但文档很差
最佳答案
- 对于 python,请参阅 answers to this question
- Java 参见 ansers to this question
如果您对半自动图表布局感到满意,那么您可能会做以下事情(我过去做过):
- 下载yEd (同样来自 yworks)
- 保存一张图表并查看文件:它是 XML,格式也不太复杂
- 编写一些代码将您的图表保存到与 yEd 兼容的 XML 文件中
- 从 yEd 打开你的文件,并使用内置的布局算法
- 再次从 yEd 保存您的文件
希望对您有所帮助。
关于c# - 图形布局和重新排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5866645/