Вопрос

Я использую Юнга для рисования графиков.Ниже приведен простой график с древовидной компоновкой, который выглядит нормально.Все средства визуализации и трансформаторы используются по умолчанию.

альтернативный текст http://czuk.eu/stackoverflow/ballon_layout_default_size.png

Теперь я изменил размер узлов по умолчанию на 100 пикселей, установив пользовательский VertexShapeTransformer.Проблема в том, что узлы начали перекрываться.Здесь вы можете увидеть, как это выглядит:

альтернативный текст http://czuk.eu/stackoverflow/ballon_layout_size_100px.png

Можно ли избавиться от перекрытия вершин?Это вопрос компоновки или какого-то преобразования формы?

Заранее благодарю вас за любые предложения :-)

Это было полезно?

Решение

После не столь долгого исследования я выяснил, что есть два статических атрибута, ответственных за установку минимальных расстояний между вершинами.Это TreeLayout.DEFAULT_DISTX и TreeLayout.DEFAULT_DISTY.К сожалению, эти атрибуты определяют фиксированное минимальное расстояние между вершинами, но не учитывают реальный размер каждой вершины, который может отличаться.Этот параметр действителен для TreeLayout и тот BalloonLayout это расширяет возможности TreeLayout.

Я также попробовал другой макет, но не смог найти аналогичного решения.Этот вопрос для другого вопроса ;-)

Другие советы

Когда вы создаете TreeLayout вы можете указать TreeLayout.DEFAULT_DISTX и TreeLayout.DEFAULT_DISTY в конструкторе:

TreeLayout treeLayout = new TreeLayout<String,Integer>(graph,100,100);

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top