Как предотвратить наложение узлов и ребер в графе GEF-Zest?
Я разработал плагин eclipse для генерации Graph с использованием GEF-Zest
, я использую SpringLayoutAlgorithm
как алгоритм макета (я также пробовал другие макеты), но все же узлы и ребра перекрывают друг друга, что создает шумный график. Мне нужна помощь в решении этой проблемы.
1 ответ
Вы можете взглянуть на Eclipse Layout Kernel (ELK), они предоставляют сложные алгоритмы компоновки. Кроме того, вы можете взглянуть на Graphviz. Оба могут быть интегрированы как макетные движки с GEF Zest. Однако вам необходимо реализовать GraphvizLayoutAlgorithm (делегирование в Graphviz) или ElkLayoutAlgorithm (делегирование в ELK).
В официальном репозитории GEF приведен пример делегирования макета в Graphviz dot: https://github.com/eclipse/gef/blob/master/org.eclipse.gef.dot.examples/src/org/eclipse/gef/dot/examples/DotLayoutExample.java
Кроме того, SpringLayoutAlgorithm не должен размещать узлы друг над другом, как это видно при запуске примера: https://github.com/eclipse/gef/blob/master/org.eclipse.gef.layout.examples/src/org/eclipse/gef/layout/examples/SpringLayoutExample.java
Если вы хотите решить свою проблему с помощью SpringLayoutAlgorithm, вам нужно поделиться своими знаниями и опытом с вашими данными и кодом. Было бы лучше иметь короткий, самостоятельный, правильный (компилируемый) пример (SSCCE).