繁体   English   中英

Java-可以绘制基本的力导向无向图(顶点,边)吗?

[英]Java - Possible to draw a basic force-directed undirected Graph (Vertices, Edges)?

我试图在Java中创建一个类,该类将扩展另一个名为Graph的类。

图类的概述如下:

  • 图构造器
  • 相邻的(int i,int j)
  • addEdge,removeEdge方法
  • addVertex,removeVertex方法
  • 邻居法
  • numOfEdges方法
  • averageDegree方法
  • 周长法

我想知道是否有可能使用我制作的图类在Java中绘制非常基本的力导向无向图。 我希望我的图表在视觉上令人愉悦!

如果是这样,谁能指出我正确的方向?

您到底要问什么? 如果您询问您的类是否包含足够的信息以允许应用基于力的布局,那么显然,答案是否定的:您至少需要表示节点^^的位置(例如,使用其他x和y节点属性)。

关于算法本身,您是否对自己的实现过程感兴趣,还是对结果感兴趣:以一种不错的方式显示图形? 在前一种情况下,您可以先看一些开创性的论文,例如( Fruchterman&Reingold '91 )或( Kamada&Kawai '89 )。 这两篇文章都明确给出了所提出的算法。 在后一种情况下,您可以看一下现有的实现,其中有很多。 也许最方便的是Gephi的与布局有关的类,因为该开源软件( 可在GitHub上使用 )本身是用Java编写的。

无论如何,您还可以查看与此主题相关的其他SO帖子,例如Kamada&Kawai图布局算法? 力导向图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM