Интерактивная схема D3js v4 - PullRequest
       16

Интерактивная схема D3js v4

0 голосов
/ 06 декабря 2018

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

Для этого я сначала устанавливаю данные в глобальную переменную:

let myData;
d3.csv("employee.csv", row, function(error, data) {
    if (error) throw error;
    myData = data;

После того, как я переместил весь код для генерации, установите svg в функции обновления.

Затем я добавляю событие щелчка наузел выглядит так:

node.on("click", click);

[...]

function click(d) {    
    if (d.children != null) {
        console.log('children = null');
        d._children = d.children;
        d.children = null;
      } else {
        console.log('children = _children');
        d.children = d._children;
        d._children = null;
      }
    removeCurrentGraph();
    update(myData);

Следующим шагом является удаление всего графика через

svg.selectAll("path.link").remove();
svg.selectAll("g.node").remove();

и повторное обновление.

Вот всекод

Моя проблема в том, что весь график отрисовывается со всеми узлами, даже если я установил дочерние элементы в нуль.

Я не уверен, что я здесь делаю не так?

Спасибо!

...