比较开源Java图形绘制框架(JUNG和Prefuse)以绘制网络拓扑
哪些开源 Java 图形绘制框架可用于具有以下要求的网络图?该图将少于 1000 个节点。
1)在单个图中具有平行边缘
2)有向和无向边缘3)由图像
表示的节点4)用户与节点和边缘
的交互5)动态添加/删除节点和边缘
6)节点和边缘上的多个标签,用户可以关闭/打开不同级别的标签。
(如在图层中绘制并关闭/在图层上)
7)不同的布局算法显示星形、环状、网状拓扑
我评估了JUNG和Prefuse。这就是我为每个要求找到的。
1) 预注不能显示平行边,而 JUNG 支持它。是否可以操作预赋值代码以显示平行边缘?由于这涉及基本数据级别的更改,我认为这比通常的自定义呈现更改更困难。
2)我在prefuse和JUNG中都没有找到任何对组合图(有向和无向边)的引用。有谁知道其他的吗?
3)这在Prefuse和JUNG中似乎都很容易
4)同样,预注和JUNG都为用户交互提供支持。
5)预注和JUNG都支持它。每个框架在重绘图形时的性能如何?我在另一篇文章中看到预注对于动态更新表现不佳(预注工具包:动态添加节点和边缘)
6)这归结为修改图形并重新绘制它。所以问题变得与5相同)
7)JUNG和prefuse都有多种布局算法。但是当我尝试在JUNG和Prefuse中使用FruchtermanReingoldLayout显示相同的数据集时,我得到了不同的显示。任何想法为什么?不知何故,Prefuse中的布局算法似乎比JUNG中的布局更好(我认为渲染也更好),尽管Prefuse中的大多数布局算法都基于JUNG实现。预注布局,如ForceDirectedLayout/FruchtermanReingoldLayout和CircleLayout直接映射到星形,圆形,网格拓扑。
除了这些要求之外,prefuse对表达式和查询语言有很好的支持,但看起来不像JUNG那样积极开发。哪一个有更好的可视化?关于哪一个适合以及如何克服缺点的任何建议?
我可以使用的任何其他框架?