Уважаемым читателям. Я новичок в javascript, и я столкнулся с этой проблемой. Я пытаюсь реализовать модифицированную версию этого силового ориентированного графа:
http://mbostock.github.com/d3/ex/force.html
Данные json генерируются на лету из php-скрипта. Идея состоит в том, чтобы покрасить все линии, соединяющиеся с одним конкретным узлом (, определенным в php-скрипте ), одним цветом, а все остальные — оттенками серого. Я пытаюсь сделать это, сопоставив исходную переменную в json-файле с переменной из php-скрипта и изменив цвет, когда это верно, как здесь :
var link = svg.selectAll("line.link")
.data(json.links)
.enter().append("line")
.attr("class", "link")
.style("stroke-width", function(d) { return Math.sqrt(d.value);})
.style("stroke-opacity", function(d) { return d.value/10;})
.style("stroke", function(d) {
x = (tested == d.source) ? return '#1f77b4' : '#707070';// <-- Attempt to change the color of the link when this is true.
})
, однако это не работает. Сценарий работает нормально, но без изменения цвета, если я просто сделаю это
var link = svg.selectAll("line.link")
.data(json.links)
.enter().append("line")
.attr("class", "link")
.style("stroke-width", function(d) { return Math.sqrt(d.value);})
.style("stroke-opacity", function(d) { return d.value/10;})
.style("stroke", function(d) {
return '#707070';
})
Я смотрел на это несколько дней, пытаясь понять, как это сделать, и я застрял. Любая помощь будет принята с благодарностью!
Вот мой полный скрипт