用D3.JS想给文本分行 但是不知道改怎样写了
我想在 在一个圆里面添加文本并分行。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})
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
.text(function(d){})里面处理不太建议 不过可以试试d3.select(this).selecrAll(span)