问题标签 [jgrapht]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
882 浏览

java - 删除所有接触给定顶点的边

所以我试图删除 SimpleGraph(无向图,JGraphT)的所有边,但由于某种原因,我不断收到 ConcurrentModificationException。

这是我正在尝试做的事情:

首先,我有一个类点如下:

还有一个图 g,其顶点是 Point 的实例并存储在二维数组中

谁能告诉我我在这里做错了什么?为什么我不断收到 ConCurrentModificationException?

0 投票
2 回答
2845 浏览

java - 如何在 JGraphT 中复制图形?

我需要制作一个简单图表的副本。

我在图生成器中看不到图复制器,并且 UndirectedGraph 没有实现克隆方法。

年,我可以用手抄一张图。但我想在一行中做到这一点。

0 投票
1 回答
498 浏览

java - 使用 JgraphT/Jgraph 定义的 UndirectedGraph

我找不到无向图的构造函数,它是一个接口......我一直在浏览文档......但不知道如何启动UndirectedGraph Interface.

我尝试过使用 SimpleGraph,但它不起作用。将 simpleGraph 转换为 undirectedGraph 不起作用......

任何帮助表示赞赏,谢谢。

0 投票
1 回答
1511 浏览

java - Jgrapht边缘颜色

我想使用 Jgrapht 更改边缘的颜色,以便可以在整个图表中显示对应关系。让我们假设节点 1 和 2 之间有一条边。我将用(比如说)红色突出显示这些节点。我将在整个图中找到节点 1 和 2,并以红色显示它们,其余节点以其他颜色显示。我看到创建可视化的文件是SimpleTouchgraphApplet.java在这个文件中,我添加了如下语句,

我在 init 部分添加了上述两个语句。我还在我的主要功能中添加了以下语句。

但是,我没有看到前景色或背景色有任何变化。请让我知道哪里出错了。

0 投票
2 回答
209 浏览

java - ClosestFirstIterator,每条路径具有“最大跳数”上限

我正在尝试使用 JgraphT 为冗余拓扑创建网络图,并且我有兴趣让最近的节点到另一个节点,但拓扑不允许超过一定数量的跃点以避免循环。我想知道是否有一种方法可以快速获取顶点,类似于 closeFirstIterator 返回它们的方式,但对每条路径的跳数有一个上限。我注意到带有半径上限的最接近的FirstIterator 构造函数(它限制了每一跳的累积权重),但这不是我想要的。

0 投票
1 回答
1321 浏览

graph - 如何从 jGraphT 的图中随机选择一个顶点或边

我创建了一个带有一组边的图形(4000K 边和 4K 节点)。现在我想从语料库中提取 10% 的边来创建训练和测试数据集。

我想随机选择一条边,验证这条边的顶点是否有一条带有随机顶点的边。如果是这样,我将在图中删除该边并将该边写入测试文件中。因此,稍后我将使用一些相似性函数来预测测试文件的边缘。

逻辑是我试图预测 A->C,给定 A->B 和 B->C。

现在的问题是,我无法在 JGraphT 中随机选择一条边并随机选择一个顶点。我的顶点名称是一些带有随机数的字符串。

有人对此有解决方案吗?

0 投票
1 回答
925 浏览

java - JGraphT 中的简单无向无标签图不起作用?什么是 edgeClass 参数?

我想A<->B在 JGraphT 0.8.3 中制作一个简单的无向无标签(边没有标签)图:

我得到这个输出:

为什么顶点的边集是AB的?还有for的类参数是SimpleGraph什么?它似乎是边缘的类型,但是由于我这里的边缘没有标记,所以肯定没关系吗?所有的图类似乎都将边 ( edgeClass) 的类作为参数。我找不到文档edgeClass中描述的位置。


我发现如果我标记边缘(将addEdge线更改为sg.addEdge("A", "B", "an_edge");)然后它可以工作......但我不想标记边缘......

0 投票
1 回答
372 浏览

jgrapht - 使用 JGraph 操作大图

我有一个大约有 100,000 个节点的非循环图。

我希望能够编辑图表并通过放大和缩小部分来基本可视化它。

我的问题:JgraphT 是否适合此类应用程序?

0 投票
1 回答
1251 浏览

graph - 如何在jgrapht中获取最近的邻居

我正在尝试使用 jgraphT 解决链接预测问题。我正在根据两个节点的邻居计算两个节点之间的相似性。每个节点都有一些属性。由于一些节点有大约 700 个邻居,而我有 4500 个这样的节点,因此计算量太大了。我有 70 万条边,我计算它们的相似度。

现在,我不想使用节点的所有邻居,而是只想使用每个节点的 k 最近邻居来计算一对节点之间的相似性。我可以根据否在图中的所有边上添加一些权重。边缘的两个节点共享的属性,或者没有。节点之间长度为 n 的最短路径等。

谁能告诉我是否可以选择在 jGraphT 中获取最近的邻居?

0 投票
1 回答
1416 浏览

java - 随机化 jgraph 中顶点的位置

我在 jgraph 的帮助下创建了一个用于可视化的应用程序。我对此有几个问题。

1:我需要根据Vertex对象的一个​​属性来改变Vertices的名字。当我使用默认设置运行应用程序时,顶点的名称打印为 Vertex@c8191c(基于顶点的更改)。我想将此名称更改为顶点的属性值。

2:这是最关键的一个。生成的顶点数不是静态的。数量取决于应用程序的各种其他因素,并且可以在每次应用程序运行时更改。当我使用默认设置运行此应用程序时,节点重叠,并且在第一个位置只显示一个。我需要在 jgraph 中随机分布节点。

有人可以帮我解决这两个问题。如果您需要更多信息,请提及。以下是我可视化图表的代码。

先感谢您。