0

我目前正在从事一个大学项目,以在 Java 中实现简单的图形算法(https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)),我正在努力寻找一个简单的解决方案来将我创建的图形导出到图像文件(即 .png)

我已经看过 GraphViz 和 GraphStream 之类的工具,但它们似乎更专注于可视化自己的代码来创建图形。

有没有人知道一个简单的库或者甚至可以解释我在图像文件中生成的输出的外部工具?如果可能的话,一些轻量级且易于实现的东西。

[我的代码] ---> [输出] ---> [我正在寻找的内容] ---> [图像文件]

4

2 回答 2

0

如果您以 Graphviz Dot 语言生成输出,则可以dotty使用该程序将其可视化并导出为 PNG 或其他图像格式dot。Dot 语言非常简单,例如这里有一个有向图,有 3 个节点组成一个循环,第三个节点有一个自边。

digraph {
A -> B
B -> C
C -> A
C -> C
}

这是它在dotty中的呈现方式:

在此处输入图像描述

于 2020-04-07T23:57:13.873 回答
0

您的要求很笼统,但这里有一些答案:

  • 如果您希望“搜索”同时放置节点和边,那么上面的答案有效
  • 如果您想自己放置节点,graphviz 支持这一点 - 在常见问题解答中搜索“已经拥有节点的所有坐标”。 dot -Tdot yourinputfile将给出您需要创建的输出示例。您可以跳过边缘的位置
  • 如果要同时放置节点和边,请参见上文,但在边上包含pos并使用neato -n2 (边总是样条,但直边很容易计算)
    • java没有你可以使用的图形例程吗?
  • 如果您想定位节点和边但不喜欢 graphviz 解决方案,请尝试 dpic ( https://ece.uwaterloo.ca/~aplevich/dpic/ ) 它的级别略低,为您提供更多控制

祝你好运

于 2020-04-09T19:01:03.707 回答