问题标签 [jung2]

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 投票
0 回答
184 浏览

java - JUNG:如何通过动态调整顶点形状正确放置箭头?

介绍

我正在开发一个项目,该项目以不同大小(根据它们的相对工作量)呈现图中的顶点。

问题

我期望它如何工作

当我关闭顶点的动态调整大小时会发生这种情况:

在此处输入图像描述

所以这里一切都是正确的。连接圆正好放置在圆形的边界上。

这个结果是通过清单 1中的代码实现的。

动态调整大小的实际情况

在这里您可以看到,连接圆位于边界附近的某处,但始终缺少正确的位置。

在此处输入图像描述

这个结果是通过清单 2中的代码实现的。

清单 1 - 不调整大小

清单 2 - 调整大小

实际上,我懒惰地预先计算了顶点内 10 种不同大小的顶点形状。但是这个代码片段更清晰并且达到了相同的结果(虽然没有那么高性能)。

我已经尝试过并查看过的内容

这一切都发生在edu.uci.ics.jung.visualization.renderers包中。

  • 检查BasicEdgeArrowRenderingSupport班级是否有任何我可以用来纠正这个问题的东西
  • 检查它是否PathIteratorBasicEdgeArrowRenderingSupport
  • 检查它是否是arrowPlacementTollerance参数

问题

如何实现清单 1产生的预期结果,但要像清单 2中那样动态调整形状大小?

我想这个问题的答案将导致:

  • 我做了一些基本的失败(逻辑上或程序上)
  • 或者是边缘箭头渲染支持的基本问题
0 投票
0 回答
65 浏览

java - JUNG:图表仅在我单击并调整框架大小后显示

我正在使用 JUNG 生成一些图表,但是我发现最终产品有些奇怪,在我单击按钮对给定数据执行后,图表没有绘制任何内容。但它会在我调整框架大小或单击最大化后显示。

我重新使用了 Tom Nelson 的示例代码并对其进行了一些改进,以便能够从数据库中读取输入数据。它有 >1k 行代码,我不确定如何在此处粘贴我的代码以给出实际示例。

这是原始代码: http: //logic.cse.unt.edu/tarau/teaching/GraphTheory/jung/src/jung2/jung-samples/src/main/java/edu/uci/ics/jung/samples/ EdgeLabelDemo.java

有什么建议吗?

0 投票
1 回答
106 浏览

java - JUNG - How can MouseOver change thicknes of Vertex and Edges

I'm developing a tool and want, that user can simply choose a vertex or edge.

Now, i'm looking for a way how to change the thickness(highlighting) of a vertex or edge during hovering with the mouse.

And I want increase the size of a vertex or edge, if i zoom into it. At the moment, they will be smaller, i zoom near.

Can anyone help me?

Thanks in advance.

PS: i use vv.setVertexToolTipTransformer for showing the name of the vertex during hovering, but it don't solve my problem.

0 投票
1 回答
153 浏览

java - 图 edu.uci.ics.jung 中离顶点最远的 K 个点

我想在有向图的 jung 实现中找到离给定顶点最远的 K 点。

我假设BFSDistanceLabeler完成了这项工作。但是,它没有提供返回 K 最远点的 api,所以我必须通过遍历图中的所有顶点并调用 getDistance 方法来手动完成。或者,还有更好的方法?

但对我来说还有一个更大的挑战。尽管该图是有向的,但我想将其视为距离标注器的无向。是否有可能以某种方式从有向图快速切换到其无向版本?

为什么我需要将图视为无向?

我在随后的步骤中分析了一个非常大的网络(数百万个顶点)。在每一步中,都会将一小部分网络(数千个顶点)加载到图中并进行分析。该分析需要有向图,并为必须位于加载区域中心的一个特定顶点提供结果。

当我从步骤 A 移动到步骤 B 时,我可以删除整个先前的图表并创建一个新图表。然而,这将非常耗时。因为我知道我感兴趣的新顶点接近前一个顶点,所以图的很大一部分可以重复使用。

这就是为什么我需要为新的主顶点删除 K 个最远的顶点,并用这个顶点周围的新顶点替换它们。

让我们看一下带有图形的底部图片,假设顶点 1 是我们感兴趣的顶点。由于图是有向的,6 号顶点是最远的。但是,如果图形被视为无向,那么顶点 4 将是最远的,这就是我需要的。

在此处输入图像描述

0 投票
1 回答
89 浏览

jung2 - 如何开始 JUNG 编程?

我必须从使用 Graphs 编程开始,然后我在互联网上使用 JUNG 2。

我一直在阅读文档,但是任何人都可以从一开始就指导我实施此类程序。我已经下载了这个链接中提到的 jar 文件:http: //jung.sourceforge.net/download.html

请有人能告诉我我应该进一步做什么吗?

这可能看起来像一个幼稚的问题,但我才刚刚开始,希望能得到任何帮助。

提前致谢。

0 投票
1 回答
298 浏览

java - jung库中如何使用DirectedSparseVertex()?

我是 jung 库的新手,我正在尝试创建一个新顶点并仔细遵循 jung 教程(此处:http: //jung.sourceforge.net/doc/manual.html#start)。但是,当我尝试使用它时,我的 Eclipse IDE 无法识别 DirectedSparseVertex 类或 DirectedEdge 类。我想知道我是否缺少导入或什么?但这是我的代码。希望大家能帮忙。

所以它的底层是红色的:new DirectedSparseVertex() 和 DirectedEdge e_copy

0 投票
1 回答
440 浏览

java - 使用 Maven 构建 JUNG 库

我是 Java 新手,我想使用 Maven 构建 JUNG 2.2 库,因为这似乎是构建它的标准方式。我以前从未使用过 Maven,但安装和运行并不困难,mvn clean install没有问题。

现在,JUNG 似乎有 6 个子包(API、实现、算法、I/O、可视化和示例),每个子包都有自己的目录(例如jung-api,是 API 包的目录)。install目标生成一些 Java .class文件并将它们放在target/classes/6 个目录中的每个目录中。

为了使用该库,我对接下来要做什么感到困惑:我只需要将 jung 目录路径添加到CLASSPATHshell 中的变量吗?但是我必须导入jung-api.target.classes.edu.uci.ics.jung.graph.*它,它不仅输入起来非常长,而且还有一个“-”,Java 编译器不希望在包的名称中出现这个!即使我绕过“-”问题,我也会遇到运行时错误:

我在 OS X 10.9.5 上使用 javac 1.8.o_91。

0 投票
1 回答
22 浏览

jung2 - Jung2: NullPointerException "AWT-EventQueue-0" labelVertex(BasicVertexLabelRenderer.java:84)

当 jung2 2.1 在 rc.getVertexLabelTransformer().apply(v) (BasicRenderer.java, 74) 中呈现我的图形时,它需要我的 v 对象(不是 null,它具有正确的 not null toString)并返回导致其他地方异常的 null . 如何解决?

PS我使用Scala但怀疑它受到影响。代码和报告https://github.com/jrtom/jung/issues/60

0 投票
1 回答
109 浏览

jung2 - jung2:如何把图画成树?

我需要绘制具有根节点的图形,并且子节点之间具有交叉关系作为标准的 graphviz 绘制算法。根在上面,子在下面。Treelayout 和 RadialTreeLayout 不适合(不是强壮的树,当我的树是树时会显示错误的视图)。有没有办法在没有 Forest 和 TreeLayout、RadialTreeLayout 的情况下将图形绘制为 graphviz?我找不到这样做的 SparseMultigraph 的标准布局。

0 投票
2 回答
1515 浏览

java - 使用 Jung 在 java 中创建树形图

我实现了一个图形算法,我必须为它创建一个接口。每一步都有一个框架。我会手动完成。我使用 Jung 包,但我不知道如何使该图看起来像一棵树。我挣扎了两天。

这是我的尝试:

在那里我使用了 CircleLayout,我应该使用 TreeLayout,但我必须实现 Forest 接口,我不知道如何,我不是一个聪明的程序员。:(

我希望我的图表看起来像这样:

期望结果