Подсказки для вложенных кругов в макете пакета кругов D3

Я тут голову ломаю. Я хочу отображать всплывающие подсказки для конечных узлов в такой структуре, как Zoomable Pack Layout . Листовые узлы коричневые. Если бы я использовал стандартный код для всплывающих подсказок:

vis.selectAll("circle")
    .data(nodes)
   .enter()
    .append("svg:circle")
    .attr("class", function(d) {
        return d.children ? "parent" : "child";
    })
    .attr("cx", function(d) {
        return d.x;
    })
    .attr("cy", function(d) {
        return d.y;
    })
    .attr("r", function(d) {
        return d.r;
    })
    .on("click", function(d) {
        zoom(node == d ? root : d);
    })
    .append("svg:title")
    .text("test");          \\ Browser uses this for tooltips

Я получаю всплывающие подсказки для основных кругов, но не для листовых узлов. Я старался:

.append("svg:title")
.text(function(d) {
    if(d.size){return 'test';}
});

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

Есть предположения? Я полагаю, что мне нужно либо сложить svg:circles так, чтобы листовые узлы были перед другими, либо прикрепить svg:titles только к листовым узлам, но я не уверен, как это сделать.

Вот несколько подсказок: Fiddle


person Curtis Kelsey    schedule 13.11.2013    source источник
comment
Можете ли вы добавить jsfiddle своих материалов?   -  person Ian    schedule 14.11.2013
comment
Круги уже должны быть правильно сложены — вы изменили способ рисования макета из примера?   -  person Lars Kotthoff    schedule 14.11.2013


Ответы (1)


На самом деле проблема не в коде, а в CSS, который не позволяет кругам конечных узлов получать события указателя. Просто удалить

circle.child {
  pointer-events: none;
}

и это работает нормально. Полный пример здесь.

person Lars Kotthoff    schedule 14.11.2013
comment
Я столкнулся с той же проблемой, заданной здесь круговая упаковка">stackoverflow.com/questions/42157181/ попытался добавить всплывающие подсказки так же, как описано, но вместо этого я не получаю всплывающих подсказок, и пакет кругов даже больше не отображается. Любая помощь в этом будет высоко оценена! - person JohnDoe; 12.02.2017