У меня очень интересная проблема размещения.D3 Макет: Деревоподобная структура, но длина ссылки варьируется
У меня есть данные футбольного матча, в частности количество успешных проходов между игроками и капитаном команды. Мы не заботимся о проходах между игроками, которые не являются капитаном команды.
Таким образом, корневой узел будет капитаном, каждый лист будет представлять каждого игрока, и все ссылки, которые у нас будут иметь, - это только те, которые находятся между корневым узлом и каждым листовым узлом. Никаких связей между листьями.
Я хотел бы, чтобы корневой узел находился в центре диаграммы, и в зависимости от количества успешных проходов между капитаном и игроком мы определяем длину связи между корневым узлом и листом. Чем больше проходов было сделано, тем дольше будет ссылка.
У меня возникло искушение использовать схему силы d3 для этого, так как я не хочу, чтобы узлы игроков перекрывались друг над другом. У меня есть несколько проблем с этим подходом. Основная проблема, с которой я столкнулась, и причина, по которой я здесь, заключается в том, что макет силы не позволяет мне иметь разные длины ссылок между узлами. Для другого макета или пользовательского макета, я боюсь, есть ли способ избежать перекрытия узлов.
Я готов к вычислениям в Math, но вы знаете, как всегда было бы здорово, если бы я мог начать с любой макеты d3.
Любые предложения по планировке d3 для меня для начала?
Любая помощь будет оценена по достоинству. Спасибо.
Спасибо, это спасло мою работу. – Alfred
Кстати, что, если я хочу, чтобы корневой узел находился в центре графика? Любая подсказка? – Alfred
Если вы указали корневой объект данных 'x' и' y' values * перед * инициализацией графика, он начнется с этой позиции. Если вы дадите ему свойство 'fixed = true', он останется там. (Если вы хотите заблокировать позицию узла * после того, как * начата компоновка силы, вам также нужно будет установить ее значения 'px' и' py' в соответствии с 'x' и' y'.) Вот более ранняя версия эта скрипка имела такое поведение: http://jsfiddle.net/cSn6w/1/ – AmeliaBR