Как разместить заголовок узла слева или справа от узла на графике d3 Sankey?

Вот пример, о котором я говорю: http://bl.ocks.org/d3noob/c9b90689c1438f57d649

Узлы второго уровня имеют свое название справа от них. Как я могу разместить их слева от узлов? Пожалуйста помоги.


person d33a    schedule 22.06.2016    source источник


Ответы (1)


Вот как вы делаете текст для узлов.

  node.append("text")
      .attr("x", -6)
      .attr("y", function(d) { return d.dy / 2; })
      .attr("dy", ".35em")
      .attr("text-anchor", "end")
      .attr("transform", null)
      .text(function(d) { return d.name; })
      .filter(function(d) { return d.x < width / 2; })
      .attr("x", 6 + sankey.nodeWidth())
      .attr("text-anchor", "start");

Для создания текста справа всегда делайте:

  node.append("text")
      .attr("x", -6)
      .attr("y", function(d) { return d.dy / 2; })
      .attr("dy", ".35em")
      .attr("text-anchor", "end")
      .attr("transform", null)
      .text(function(d) { return d.name; })
    //.filter(function(d) { return d.x < width / 2; }) //COMMENT THIS LINE
      .attr("x", 6 + sankey.nodeWidth())
      .attr("text-anchor", "start");

Прокомментируйте строку, показанную выше, чтобы она не фильтровала узлы > половины ширины SVG.

рабочий код здесь

person Cyril Cherian    schedule 22.06.2016