Как бы вы отобразили несколько полей на узле в d3? - PullRequest
0 голосов
/ 14 февраля 2019

Я новичок в d3, и у меня есть объекты, которые связаны друг с другом.Каждый из этих объектов имеет несколько полей, которые я хочу отобразить.Мне было интересно, как вы можете сделать это в d3.

1 Ответ

0 голосов
/ 14 февраля 2019

Я не уверен, что понимаю вопрос, но я думаю, что вы идете примерно так:

Сделайте свой выбор и свяжите данные.

let update = d3.selectAll(".object").data(objects);

Удалите старые элементы (при необходимости).

update.exit().remove();

Создайте выделение enter и добавьте дочерний элемент для каждого поля.

let enter = update.enter()
    .append("g").attr("class", "object");
enter.append("g").attr("class", "field1");
enter.append("g").attr("class", "field2");

Объедините выделенное enter обратно в update, затем заполните поля.

update = update.merge(enter);
update.select(".field1").text(d => d.field1);
update.select(".field2").text(d => d.field2);
...