我想在 在一个圆里面添加文本并分行。nodes 里有3 个值 ,在this.selsectAll() 这个地方是想分别取每个text 并在每个text里面添加分行的数据。没有成功。
//添加文字 并分行
var text = svg.selectAll("text")
.data(nodes)
.enter()
.append("text")
.attr("x",function(d){return d.x-30})
.attr("y", function (d) {return d.y-5})
.attr("font-size","10px")
.attr("fill","BLACK")
.text(function(d){
// console.log(this);
var str0 = nodes[0].name;
var str1 = nodes[1].name;
var str2 = nodes[2].name;
str0 = str0.split(",");
str1 = str1.split(",");
str2 = str2.split(",");
this.selectAll("tspan") //此处报错
.data(str0)
.append("tspan")
.attr("x",text.attr("x"))
.attr("dy","1em")
.text(function(d){return d})
});
.text(function(d){})里面处理不太建议 不过可以试试d3.select(this).selecrAll(span)