Используйте Gephi для отображения графиков в AnyLogic

Я создал агентную модель в AnyLogic и хотел бы визуализировать график. В идеале я бы хотел использовать что-то вроде Gephi.

Я использовал общие инструменты визуализации, которые поставляются с AnyLogic, для создания макета круга, но я бы предпочел иметь что-то более полезное, например Force Atlas 2.

В идеале я бы хотел, чтобы график визуализировался непосредственно в одной из областей просмотра. Любые идеи? Кажется, что AnyLogic ужасно ограничивает то, что вы можете делать визуально за пределами его предварительно упакованных компонентов (столь же обширных, как и они сами по себе).


person cogijl    schedule 13.05.2019    source источник


Ответы (2)


Я согласен с тем, что Gephi - мощный инструмент для работы с графиками, но я пока не использовал его напрямую в AnyLogic. Вот как я бы попробовал это сделать:

  1. Загрузите Gephi Toolkit в виде jar-файла.
  2. Интегрируйте его в свой проект AnyLogic: на вкладке «Проект» в свойствах модели в разделе Зависимости / Файлы Jar и папки классов добавьте загруженный файл jar.
  3. Добавьте пространства имен в свой проект, добавив в свой Main в разделе Advanced Java / Imports Section (здесь пример необходимых пространств имен для создания графиков):
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. Создайте график, как описано в этом примере.

Единственное, что сложно или невозможно - это интегрировать визуализацию в холст AnyLogic. Однако вы всегда можете иметь «всплывающее» окно в виде JFrame, как в этот пример.

person Florian    schedule 20.05.2019
comment
Поэтому я пометил этот ответ как принятый. В конце концов я сдался, так как клиент был доволен другим решением. Однако этот ответ мне ближе всего. Похоже, что опция всплывающего окна - единственный способ, поскольку холст AnyLogic не может визуализировать что-либо с помощью gephi. Я подумал об этом и думаю, что есть и другие способы использования частей gephi для этого, но, вероятно, быстрее просто собрать его вместе для визуализации вне AnyLogic (возможно, с обновлением узла AnyLogic и значениями ссылок, но без визуализации) чем делать это внутри. - person cogijl; 10.07.2019

Не уверен, что такое Gephi, но вы можете загрузить любую библиотеку Java в AnyLogic и использовать ее. Для vis существует масса, возможны даже трехмерные диаграммы.

Таким образом, вы ограничены не AnyLogic, а Java ... что на самом деле не такое уж большое ограничение ;-)

(Обратитесь к справке AnyLogic о том, как загружать файлы jar)

person Benjamin    schedule 14.05.2019