Как я могу получить координаты из вершин (тип: строка)
Я создал направленный граф (см. Ниже). Я хочу получить координаты узла от Typ: String.
Graph<String, Edges> graph ;
Как я могу это сделать?
1 ответ
Graph
Экземпляр - это модель данных. Его работа заключается в хранении связей между его элементами; он не хранит координаты, равно как и объекты вершин и ребер.
Чтобы получить координаты для вершин, вам нужно создать Layout
экземпляр для Graph
пример; После того как макет сгенерирует координаты для вершин, вы можете получить координаты из макета.
Некоторые реализации Layout рассчитывают позиции за один проход (например, CircleLayout
); другие, в частности силовые макеты, требуют ряда обновлений (обращений к step()
), чтобы сходиться по набору координат, которые вы можете найти приемлемыми.
Обычно Layout
позиции обновляются для вас инфраструктурой визуализации, но вы можете сделать это самостоятельно, если хотите.
Вы можете посмотреть пример кода в дистрибутиве JUNG.