gpt4 book ai didi

java - 如何在 Java 中生成 graphml 文件。 Gephi、JGraph、Prefuse 等

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:08:32 25 4
gpt4 key购买 nike

帮助!我希望创建一个 Java 应用程序,它可以生成以下任何一种格式的图表:

  • .graphml
  • .ygf
  • .gml
  • .tgf

我需要能够在图形编辑器中打开文件 "yEd" .

到目前为止,我已经找到了这些解决方案:

  1. yFiles For Java
    • 专业版:导出为 graphml,能够在 yEd 中打开,基于 Java,完美。
    • 为什么我不能使用它:使用它会花费我超过 2000 美元 :( 但它正是我所需要的
  2. Gephi
    • 专业版:免费,导出为 graphml,基于 Java!
    • 为什么我不能使用它:当我尝试在 yEd 中打开生成的 graphml 文件时,graphml 已损坏:它是线性的 - 一行,就像这样屏幕截图:
    • > enter image description here
    • 如果我让它工作,那就完美了
    • 我尝试的图表是使用他们的示例项目生成的
  3. JGraphX
    • Pro:能够生成图表,基于 Java,免费
    • 为什么我不能使用它:如何将生成的图形导出到 graphml? 我想不通...
  4. Prefuse
    • Pro:免费,图形生成,基于 Java
    • 我不能使用它的地方:似乎我只能读取 graphml,而不能编写 graphml。此外,我使用 build.sh 构建了演示,但是当我尝试运行 demos.jar 时,出现“无法加载主类”...
  5. Blueprints GraphML Reader and Writer Library (Tinkerpop?)
    • 专业版:Java,免费,似乎可以用它导出 graphml
    • 为什么我不能使用它:我很困惑,我需要将它与列出的“实现”之一结合使用吗?我该如何使用它?
  6. JGraphT GraphMLExporter
    • Pro:能够生成图形,基于 Java,免费,我认为可以导出到 graphml
    • 为什么我不能使用它:我不知道如何导出它!当我尝试在 yed 中打开生成的 graphml 时,出现“yEd 遇到以下错误:无法导入文件 test.graphml。 “我使用了他们的示例项目,并这样做了:

我使用的 JGraphT 代码:

UndirectedGraph<String, DefaultEdge> g = new SimpleGraph<String, DefaultEdge>(DefaultEdge.class);

String v1 = "v1";
String v2 = "v2";
String v3 = "v3";
String v4 = "v4";

// add the vertices
g.addVertex(v1);
g.addVertex(v2);
g.addVertex(v3);
g.addVertex(v4);

// add edges to create a circuit
g.addEdge(v1, v2);
g.addEdge(v2, v3);
g.addEdge(v3, v4);
g.addEdge(v4, v1);


FileWriter w;
try {
GmlExporter<String, DefaultEdge> exporter =
new GmlExporter<String, DefaultEdge>();
w = new FileWriter("test.graphml");
exporter.export(w, g);
} catch (IOException e) {
e.printStackTrace();
}

有什么想法吗?谢谢!

最佳答案

回答可能晚了,但对于第二个解决方案:将图表导入 yEd 后,只需单击“布局”并选择一个。 yed 不会默认为您选择一个,这就是为什么它看起来是线性的。

关于java - 如何在 Java 中生成 graphml 文件。 Gephi、JGraph、Prefuse 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23349428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com