问题标签 [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.
java - 图流中的多图异常
如果有多个边,我正在努力在两个节点上显示两条边。我正在关注这个例子。但我面临一个例外:
线程“main”中的异常 java.lang.NoClassDefFoundError: scala/collection/convert/WrapAsScala at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.graphstream .ui.view.Viewer.newGraphRenderer(Viewer.java:349) at org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java:753) at org.graphstream.graph.implementations.AbstractGraph.display(AbstractGraph.java :747) 在 com.h2Database.app.ahd.main(ahd.java:18) 引起:java.lang.ClassNotFoundException: scala.collection.convert.WrapAsScala at java.net.URLClassLoader.findClass(URLClassLoader.java:381 ) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) .. .还有 6 个
我的代码是:
任何想法,为什么我要面对这个?似乎在给定的示例中此问题已解决。
java - 查找两个节点之间的隐藏节点 - 图 - java
我的英语不是很好,但我会尽力在这里解释我的问题。我正在开发一个必须在其中创建图形的应用程序。现在我正在使用GraphStream
.
我的图表的要求非常复杂,即:
我有一个名为CDR(Call Data Record)的表,其中有 2 列ANUMBER 和 BNUMBER。表的结构非常清晰,显示了Anumber叫Bnumber,还有一列DATETIME,显示调用的日期和时间。但我这里只需要两列。
假设我们这里有 4 个数字:123, 456 ,789,000,表结构是这样的
我的表在这里清楚地显示 123 没有调用 000 但 123 调用了 456 和 789 这两个数字称为 000 所以我必须显示 123 和 000 之间的有向图,它可能显示123->456->000
如下132->789->000
所以问题是我不知道如何在 123 和 000 之间找到这条路径。可能有超过 2 个数字,比如 5 个或 6 个数字,我必须在所有给定的 5 个或 6 个数字之间找到隐藏的数字以上场景456和789是132到000之间的隐藏数字。
还有一件事,我的表包含超过 2000 万行,将来显然行数会随着用户相互调用而增长得非常快。
到目前为止我做了什么:
我在这个问题上做了一些研发,但找不到任何好的库或任何解决方案。到目前为止,我认为Dijkstra's Algorithm
最适合我的场景,因为幸运的是这里GraphStream
提供了这个算法。
我想从你们那里得到什么,给我一个想法,这个算法是否会给我所需的结果,或者我必须找到最适合我的问题的任何其他算法或图形库。我不擅长 ALGO,这就是为什么我在这里寻求任何帮助或指导,如果你们可以给我的话。谢谢
java - GraphStream 中更具可读性的图形 - JAVA
我正在使用 GraphStream Library处理应用程序。到目前为止,我已经实现了Dijkstra 的 Shortest Path Algorithm。我的图表工作正常,但图表的可读性不是我所期望的。 这是图表的屏幕截图:
如您所见,由于很多边缘交叉,该图不可读。有什么方法可以让我的图表更具可读性。我正在研究Graph Stream Generators 但我认为它们在我的情况下不是最好的。所以我正在寻找我的问题的准确解决方案。在上图中,图形的可读性为 70%,但可以有更多的节点和更多的边,在这种情况下,图形是完全不可读的。这是我到目前为止的代码,让你们有一个想法,我在做什么。
java - 如何使用 Graphstream 将 Graph 存储在文本文件中
我知道如何使用矩阵和链表处理图形。我是Graphstream的新手。我想知道 java 中的Graphstream中是否有任何内置函数可以在文本文件中存储/读取Graph类型的图形,以及将此类图形存储在文件中的格式是什么?
java - 没有可怕的字符串/绝对文件路径的 GraphStream 样式?
在 GraphStream 文档中,声明我们可以通过以下方式设置图形样式:
此属性必须存储在图形上,并将样式表本身作为字符串或文件的 URL 作为值,本地、远程或打包在 jar 中。
例如,您可以使用以字符串形式给出的样式表更改图形的背景颜色:
graph.addAttribute("ui.stylesheet", "graph { fill-color: red; }");
但你也可以指定一个 URL:
graph.addAttribute("ui.stylehseet", "url(' http://www.deep.in/the/site/mystylesheet ')");
或者:
graph.addAttribute("ui.stylesheet", "url(file:///somewhere/over/the/rainbow/stylesheet')");
但是,我对此进行了实验,得出的结论是 GraphStream 仅支持该属性的绝对文件路径。这是一个问题,因为我最终会将应用程序导出为 JAR 文件,尽管我发现您可以通过执行以下操作来规避该问题:
这种方法存在不确定性(即它可能不适用于某些机器,例如 Linux 机器(?))。
在这种情况下,我目前的技巧是将“样式表”存储为一个长字符串,如下所示:
坦率地说,这非常难看。
有没有人对如何改善这种情况有任何想法?提前致谢!
java - Graphstream:设置节点之间的最小距离
我正在使用 graphstream 做一些简单的图形可视化。我发现大多数文档都很有用且易于阅读,但我无法找到一种方法来确保节点不会靠得太近。
我图中的节点有数字作为标签,我想确保节点不会重叠和相互遮挡。有没有简单的方法来解决这个问题?
java - graphstream:FileSinkImages to png 不适用于平行边
我正在尝试使用 FileSinkImages 绘制图像:
显示的图像是正确的:平行边缘是曲线,在绘制的图像中是重叠线。
android - 如何检测用户与图流的交互?
我正在调查在 Android 上使用 GraphStream
我已经成功地构建和显示了我的图表,
但是,我看不到如何在图表中的节点上监听用户交互。
当用户单击任何节点并显示特定节点信息时,我需要显示一个对话框。
我尝试在 上设置监听器org.graphstream.ui.android_viewer.AndroidViewer
,但是我从未收到任何回调
我可以在屏幕上拖动显示的节点,这样我就知道有默认的侦听器,但是如何添加自己的侦听器?
java - 如何使用继承与 GraphStream 将数据存储在图形中
在标题为 GraphStream 的教程中
它指出:-
我正在尝试使用继承(通过扩展org.graphstream.graph.implementations.SingleNode
)
我的代码测试失败
我创建了两个自定义“ DataNode
”如下:-
然后尝试在它们之间创建一个“边缘”......
我的图表定义如下: -
其配置如下:-
您如何使用继承来存储自定义数据属性
我的 DataNode 类类似于:-
java - 在 Android Studio 中导入 GraphStream 库
我已经导入了 gs-ui-android 和 gs-core-2.0-alpha 模块,它们也反映在 settings.gradle 中。也将这些包含在 gradle app 模块中
还包括导入语句
我仍然在此代码中遇到错误
错误:包org.graphstream.graph不存在错误:包org.graphstream.graph.implementations不存在错误:找不到符号类SingleGraph错误:不兼容的类型:字符串无法转换为节点错误:找不到符号类查看器
代码示例:
Build.gradle(应用程序模块):