2013-10-13 1 views
5

Пожалуйста, см http://bl.ocks.org/rkirsling/5001347Как добавить метки к краям в d3 графе

Это показывает некоторые узлы и ребра между ними. Можете ли вы сказать, какой код добавить в этом и где, чтобы края имели метки. Вы можете принять любое подходящее место для ярлыков, и вы также можете принять любой текст ярлыка. Спасибо.

ответ

4

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

svg.selectAll("text").data(links).enter() 
    .append("text") 
    .attr("x", function(d) { return d.source.x + (d.target.x - d.source.x)/2; }) 
    .attr("y", function(d) { return d.source.y + (d.target.y - d.source.y)/2; }) 
    .text(function(d) { return d.something; }); 

Обратите внимание, что в вашей tick функции, вам необходимо будет также обновить положение меток.

+0

Я написал этот код чуть выше функции tick() i.e по всему миру, внутри функции tick tick и внутри функции Restart (непосредственно перед вызовом force.start). Но почему-то я не вижу никакого текста ярлыка. Не могли бы вы рассказать мне, что я делаю неправильно? – Avinash

+0

Не могли бы вы поделиться своим полным кодом? –

+0

Мой полный код слишком длинный, но он основан на javascript-коде в http://bl.ocks.org/rkirsling/5001347 Так что не могли бы вы рассказать, где разместить свое решение в http: //bl.ocks .org/rkirsling/5001347? Я пытаюсь выяснить, могу ли я извлечь часть кода. – Avinash

Смежные вопросы