问题标签 [graphstream]

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 回答
332 浏览

java - 如何使用用于 graphstream 的 java API 删除节点?

我目前在我的项目中使用 Graphstream API for Java。

我不想在命令中删除或添加节点。与 JFrame & co. 我初始化了一个控制台,所以我可以插入“addNode()”或“removeNode(id)”以获得结果。

界面显示节点旁边有一个数字(ID)。

当我删除一个节点时,我希望所有具有更高 ID 的节点都更改其 ID,但我没有找到一种方法 jet 来更改一个节点的 ID。

我有:

删除节点时:

我希望 1,2 更改为 0,1 而无需重新初始化整个图形。

有没有办法实现这种行为?我想到了类似的东西:

不幸的是,我只能访问 .getID() 并且不能以这种方式操作它。

谢谢

0 投票
1 回答
46 浏览

java - GraphStream 节点可以是 href 链接吗?

是否可以将 href/url 属性分配给 GraphStream 节点,以便在单击时,新的浏览器/选项卡会打开到指定的 URL?

0 投票
1 回答
277 浏览

java - 使用 Java 在 GraphStream 上添加按钮

我的代码像这样工作并直接打印图形的所有边缘,但是我想在我的图形流窗口中直接单击添加按钮,并且当我单击一次打印图形的那一行时,而不是再次单击时打印另一行,直到图形可视化结束,正确的 Dijkstra 算法。

我怎么能做到这一点?我如何在 Graph Stream 上添加按钮?

0 投票
1 回答
194 浏览

java - How to Detect if Multiple Nodes Exist in GraphStream

This is a pretty obscure question since I don't see many people fawning over GraphStream, but does anyone know how to detect if a node exists in the graph if it has been inserted?

For example, if I write

graph.addNode(vertex1);

I get an error. If I do the same thing and write

graph.addNode(vertex1);

This is because vertex1 already exists in the graph. I can't find anything in GraphStream's documentation here and I can't find an answer anywhere I look. Any help would be much appreciated.

0 投票
1 回答
688 浏览

java - java.lang.RuntimeException:无法启动查看器。API GraphStream-Android

您好,我是 android 开发新手,正在为大学工作,创建一个可以创建(图论)图形和执行算法的应用程序,我选择使用 graphstream,因为它是一个图形库,但我有一些问题,我不能把节点放在视图上,布局在一个片段中,因为我使用两个活动一个来绘制图形,另一个来选择算法。(这只是测试图表是否出现在屏幕上,我将尝试实现按钮,以便用户创建自己的图表)。

这是我的java代码:

这是我的布局:

这是我的bottomNavView,我正在尝试放置一个事件来单击并绘制节点和边缘并删除它们:

这是我的错误:

E/AndroidRuntime:致命异常:主进程:com.projeto.gabriel.athenatgf,PID:6000 java.lang.RuntimeException:无法启动查看器。在 org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:212) 在 org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:204) 在 com.projeto.gabriel.athenatgfinal.FragmentGrafo.onCreate (FragmentGrafo.java:67) 在 android.support.v4.app.Fragment.performCreate(Fragment.java:2414) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418) 在 android.support。 v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1195) 在 android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:1078) 在 android.support.v4.app。686)在android.view.Choreographer.doFrame(Choreographer.java:621)在android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)在android.os.Handler.handleCallback(Handler.java:751)在android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6169) 在 java.lang.reflect .Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781) :org.graphstream.util.MissingDisplayException:未检测到 UI 包!请使用 System.setProperty("org.graphstream.ui") 选择包。在 org.graphstream。

我的问题是如何纠正这个?,这是最好的方法吗?感谢阅读,请帮助我。

0 投票
0 回答
65 浏览

java - 如何在片段中为添加/删除节点(使用 grathstream)创建触摸事件?

我正在创建一个创建图形(节点和边)的应用程序,我想实现一个触摸方法来创建节点,但是我遇到了困难,因为当我触摸画布以添加节点时它不起作用,但是如果我点击活动作品的底部菜单

我尝试实现 View.OnTouchListener 但这无法识别 FrameLayout 中的触摸,该触摸与我显示图形的片段一起使用。

我的活动:

这是我的java(我试图触摸屏幕并显示敬酒):

我希望我可以触摸屏幕并添加节点,或者单击并删除否,选择节点1然后选择节点2并创建边缘

0 投票
1 回答
75 浏览

java - 如何使用 api Graphstream 在 android studio 中通过触摸创建节点?

当我单击屏幕创建节点时,我试图获取它,但通过 Viwerpipe,我唯一能做的就是删除已经创建的节点。

我搜索了很多地方但我没有找到如何使用触摸屏来做到这一点,我通常发现这个链接说它有用但我不明白:我搜索了很多地方但我没有找到如何使用触摸屏做到这一点,我通常发现这个链接说它很有用但我无法理解:https://github.com/graphstream/gs-ui-android-test/tree/master/app/src/main/ java/ui/graphstream/org/gs_ui_androidtestFull

0 投票
0 回答
405 浏览

java - java - Graphstream 查看器不出现

我正在使用 graphstream 库以使用 java 构建可视化图形应用程序。我想在从 jframe 扩展的类中加载图表。问题是我找到的文档很旧,我没有找到其他文档。这是我的代码的一部分,我想从现有文件加载图表:

问题是图形没有出现在 jpanel 中。

0 投票
1 回答
414 浏览

graph-algorithm - 如何检查节点是否已经存在

我想在添加新节点之前检查该节点是否已存在于图中。

我尝试使用 foreach 循环来做到这一点。但它没有用。

如果节点已存在于图上,我想检索 true

0 投票
1 回答
311 浏览

java - 如何从 Graphstream 将 AttributeChangedListener 附加到 Graph?

我需要随着时间的推移更改节点和边的属性。时间被分成时间段,每个时间段看起来都一样:检查每个节点和边缘是否有可能的变化,并在必要时编辑属性。具体来说,有数字属性,节点的大小和边的宽度基于属性值。最初,图形正确显示。节点和边具有假定的大小。但是随着时间的推移动态地改变属性值并不会改变元素的大小。如何确保属性更改也会更改图形可视化?

据我了解 Graphstream 文档和教程有源、汇和刀槽花纹(管道既是源又是汇)。源创建事件,接收器消耗它们。我使用作为源的 GridGenerator。我可以将图形添加为接收器并让生成器创建图形。我想,我必须在图表中添加一个接收器,因为更改图表元素的属性使其成为源。但是我用什么做水槽呢?graph.display()返回一个查看器,但我不能将它添加为接收器,它说它与graph.addSink(sink). 尽管 Graphstream Docs 说 Viewer 是 sink 并且 Viewer 会自动添加为 sink。那为什么我在 UI 中看不到变化呢?我不明白。

生成图后,节点和边得到属性

在这里,我随着时间的推移动态更改节点属性

这里的边缘属性

有人知道我必须如何添加水槽吗?还是我错过了其他东西?