问题标签 [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.
java - JUNG:如何通过动态调整顶点形状正确放置箭头?
介绍
我正在开发一个项目,该项目以不同大小(根据它们的相对工作量)呈现图中的顶点。
问题
我期望它如何工作
当我关闭顶点的动态调整大小时会发生这种情况:
所以这里一切都是正确的。连接圆正好放置在圆形的边界上。
这个结果是通过清单 1中的代码实现的。
动态调整大小的实际情况
在这里您可以看到,连接圆位于边界附近的某处,但始终缺少正确的位置。
这个结果是通过清单 2中的代码实现的。
清单 1 - 不调整大小
清单 2 - 调整大小
实际上,我懒惰地预先计算了顶点内 10 种不同大小的顶点形状。但是这个代码片段更清晰并且达到了相同的结果(虽然没有那么高性能)。
我已经尝试过并查看过的内容
这一切都发生在edu.uci.ics.jung.visualization.renderers
包中。
- 检查
BasicEdgeArrowRenderingSupport
班级是否有任何我可以用来纠正这个问题的东西 - 检查它是否
PathIterator
是BasicEdgeArrowRenderingSupport
- 检查它是否是
arrowPlacementTollerance
参数
问题
如何实现清单 1产生的预期结果,但要像清单 2中那样动态调整形状大小?
我想这个问题的答案将导致:
- 我做了一些基本的失败(逻辑上或程序上)
- 或者是边缘箭头渲染支持的基本问题
java - JUNG:图表仅在我单击并调整框架大小后显示
我正在使用 JUNG 生成一些图表,但是我发现最终产品有些奇怪,在我单击按钮对给定数据执行后,图表没有绘制任何内容。但它会在我调整框架大小或单击最大化后显示。
我重新使用了 Tom Nelson 的示例代码并对其进行了一些改进,以便能够从数据库中读取输入数据。它有 >1k 行代码,我不确定如何在此处粘贴我的代码以给出实际示例。
有什么建议吗?
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.
java - 图 edu.uci.ics.jung 中离顶点最远的 K 个点
我想在有向图的 jung 实现中找到离给定顶点最远的 K 点。
我假设BFSDistanceLabeler完成了这项工作。但是,它没有提供返回 K 最远点的 api,所以我必须通过遍历图中的所有顶点并调用 getDistance 方法来手动完成。或者,还有更好的方法?
但对我来说还有一个更大的挑战。尽管该图是有向的,但我想将其视为距离标注器的无向。是否有可能以某种方式从有向图快速切换到其无向版本?
为什么我需要将图视为无向?
我在随后的步骤中分析了一个非常大的网络(数百万个顶点)。在每一步中,都会将一小部分网络(数千个顶点)加载到图中并进行分析。该分析需要有向图,并为必须位于加载区域中心的一个特定顶点提供结果。
当我从步骤 A 移动到步骤 B 时,我可以删除整个先前的图表并创建一个新图表。然而,这将非常耗时。因为我知道我感兴趣的新顶点接近前一个顶点,所以图的很大一部分可以重复使用。
这就是为什么我需要为新的主顶点删除 K 个最远的顶点,并用这个顶点周围的新顶点替换它们。
让我们看一下带有图形的底部图片,假设顶点 1 是我们感兴趣的顶点。由于图是有向的,6 号顶点是最远的。但是,如果图形被视为无向,那么顶点 4 将是最远的,这就是我需要的。
jung2 - 如何开始 JUNG 编程?
我必须从使用 Graphs 编程开始,然后我在互联网上使用 JUNG 2。
我一直在阅读文档,但是任何人都可以从一开始就指导我实施此类程序。我已经下载了这个链接中提到的 jar 文件:http: //jung.sourceforge.net/download.html
请有人能告诉我我应该进一步做什么吗?
这可能看起来像一个幼稚的问题,但我才刚刚开始,希望能得到任何帮助。
提前致谢。
java - jung库中如何使用DirectedSparseVertex()?
我是 jung 库的新手,我正在尝试创建一个新顶点并仔细遵循 jung 教程(此处:http: //jung.sourceforge.net/doc/manual.html#start)。但是,当我尝试使用它时,我的 Eclipse IDE 无法识别 DirectedSparseVertex 类或 DirectedEdge 类。我想知道我是否缺少导入或什么?但这是我的代码。希望大家能帮忙。
所以它的底层是红色的:new DirectedSparseVertex() 和 DirectedEdge e_copy
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 目录路径添加到CLASSPATH
shell 中的变量吗?但是我必须导入jung-api.target.classes.edu.uci.ics.jung.graph.*
它,它不仅输入起来非常长,而且还有一个“-”,Java 编译器不希望在包的名称中出现这个!即使我绕过“-”问题,我也会遇到运行时错误:
我在 OS X 10.9.5 上使用 javac 1.8.o_91。
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
jung2 - jung2:如何把图画成树?
我需要绘制具有根节点的图形,并且子节点之间具有交叉关系作为标准的 graphviz 绘制算法。根在上面,子在下面。Treelayout 和 RadialTreeLayout 不适合(不是强壮的树,当我的树是树时会显示错误的视图)。有没有办法在没有 Forest 和 TreeLayout、RadialTreeLayout 的情况下将图形绘制为 graphviz?我找不到这样做的 SparseMultigraph 的标准布局。