Я пытаюсь, чтобы текст не превышал размер прямоугольника SVG, однако, поскольку он не может быть добавлен в качестве дочернего элемента для прямоугольника, я не знаю, что еще я могу сделать, извините, я новичок.
вот код, с которым я работаю.
var node = svg.append("g").selectAll(".node")
.data(nodes)
.enter().append("g")
.attr("class", function(d){ return ["node ", d.name.replace(/
/g,"-")].join(" "); })
.attr("transform", function(d) {
return "translate(" + d.x + "," + d.y + ")";
});
node.append("rect")
.attr("height", sankey.nodeWidth())
.attr("width", function(d) { return d.dy; })
.style("fill", function(d) { return d.color = color(d.name.replace(/ .*/, "")); })
.style("stroke", function(d) { return d3.rgb(d.color).darker(2); })
.append("title")
.text(function(d) { return d.name + "\n" + format(d.value); });
node.append("text")
.attr("text-anchor", "middle")
.attr("x", function (d) { return d.dy / 2 })
.attr("y", sankey.nodeWidth() / 2)
.attr("dy", ".35em")
.text(function(d) { return d.name; })
.filter(function(d) { return d.x < width / 2; });
Спасибо:)