Я пытаюсь настроить направленную ориентацию в d3, а мои узлы начинаются с начального радиуса в 0. Затем я хочу, чтобы пользователь мог нажать кнопку и радиус шкалы узлов до размера в соответствии с значением данных json. Когда я пытаюсь сделать это, однако, я получаю яваскрипта ошибку «Не удается прочитать свойство„Field4“неопределенныхd3 переходные круги к значению json-данных
Вот данные JSON:. https://api.myjson.com/bins/2n7do
А вот код:
// Update nodes.
circles = circles.data(data);
circles.exit().remove();
var nodeEnter = circles.enter().append("g")
.attr("class", "node")
.style("fill", function(d) { return color(d.FIELD5); })
.style("opacity", 0.75)
.call(force.drag);
nodeEnter.append("circle")
.attr("r", 9)
d3.select(circles).transition()
.delay(3000)
.duration(1000)
.attr("r", function(d) { return d.FIELD4 * 0.000195 });;
Вам не нужен 'd3.select (круги)', просто 'nodeEnter.append (« круг »). Attr (« r », 9) .transition(). Delay (3000). duration (1000) .attr ("r", function (d) {return d.FIELD4 * 0.000195}); '. –
Я попробовал это, и появилась визуализация, но вместо того, чтобы перейти к новому размеру, все узлы полностью исчезли. И теперь я получаю эту ошибку javascript: «Ошибка: недопустимое значение для атрибута r =« NaN »« –
Вам также нужно преобразовать строку в число, поэтому '.attr (« r », function (d) { return + d.FIELD4 * 0.000195}); '. –