【问题标题】:Use Gephi to display graphs in AnyLogic在 AnyLogic 中使用 Gephi 显示图形
【发布时间】:2019-09-30 18:50:41
【问题描述】:

我在 AnyLogic 中创建了一个基于代理的模型,并希望将图表可视化。理想情况下,我想使用像 Gephi 这样的东西。

我使用了 AnyLogic 附带的通用可视化工具来创建圆形布局,但我更希望拥有更有用的东西,例如 Force Atlas 2。

理想情况下,我希望将图表直接显示在其中一个视图区域中。有任何想法吗?似乎 AnyLogic 严重限制了您可以在其预打包组件之外进行的视觉操作(与它们本身一样庞大)。

【问题讨论】:

    标签: anylogic gephi


    【解决方案1】:

    不确定 Gephi 是什么,但您可以将任何 Java 库加载到 AnyLogic 中并使用它。有大量可见的,甚至 3D 图表也是可能的。

    所以你不受 AnyLogic 的限制,而是受 Java 的限制……这真的不是什么限制 ;-)

    (查看 AnyLogic 帮助了解如何加载 jar 文件)

    【讨论】:

      【解决方案2】:

      我同意 Gephi 是一个强大的图形处理工具,但到目前为止我还没有在 AnyLogic 中直接使用过它。 以下是我会尝试的方法:

      1. Gephi Toolkit 下载为Java jar
      2. 将其集成到您的 AnyLogic 项目中:在模型属性中的 Project 选项卡中的 Dependencies / Jar 文件和类文件夹中添加下载的 jar 文件
      3. 通过在 Advanced Java / Imports Section 下添加 Main 来将命名空间添加到您的项目(这里是生成图表所需的命名空间的示例):
      import org.openide.util.Lookup;
      import org.gephi.project.api.Workspace;
      import org.gephi.io.importer.api.Container;
      import org.gephi.io.generator.plugin.RandomGraph;
      import org.gephi.io.importer.api.ImportController;
      import org.gephi.io.processor.plugin.DefaultProcessor;
      import org.gephi.io.processor.plugin.AppendProcessor;
      import org.gephi.io.generator.plugin.DynamicGraph;
      
      1. 生成图表,在this example 中描述。

      唯一困难或不可能的事情可能是将可视化集成到 AnyLogic 画布中。但是,您始终可以将“弹出”窗口作为 JFrame,如 this example

      【讨论】:

      • 所以我将此答案标记为已接受。最终我放弃了,因为客户对不同的解决方案感到满意。然而,这个答案让我最接近。似乎弹出选项是唯一的方法,因为 AnyLogic 画布似乎无法使用 gephi 可视化某些内容。我已经给出了这个想法,并认为还有其他方法可以使用 gephi 的一部分来完成它,但是将它组合在一起以在 AnyLogic 之外进行可视化可能会更快(可能使用 AnyLogic 更新节点和链接值但不可视化)而不是在里面做。
      猜你喜欢
      • 2021-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      • 2012-01-26
      • 2017-11-10
      相关资源
      最近更新 更多