Javascript D3 V5循环中的单词换行
我是D3的新手,取得了一些进展,但这个问题完全困扰着我。我似乎无法使我的文字与圆圈相匹配。我不太喜欢任何东西,我认为简单的换行符甚至可以通过 下面是生成圆圈和文本的示例代码Javascript D3 V5循环中的单词换行,javascript,d3.js,svg,Javascript,D3.js,Svg,我是D3的新手,取得了一些进展,但这个问题完全困扰着我。我似乎无法使我的文字与圆圈相匹配。我不太喜欢任何东西,我认为简单的换行符甚至可以通过 下面是生成圆圈和文本的示例代码 graph .selectAll('circle') .data(this.nodes) .enter() .append('circle') .attr('r', 30) graph .selectAll('text') .data(this.nodes) .enter() .append('text') .attr('
graph
.selectAll('circle')
.data(this.nodes)
.enter()
.append('circle')
.attr('r', 30)
graph
.selectAll('text')
.data(this.nodes)
.enter()
.append('text')
.attr('x', 0)
.attr('y', '.31em')
.attr('text-anchor', 'middle')
.text((d: Vertex) => d.name)
我已尝试添加TSPAN,但无法使其正常工作。我建议您尝试使用D3插件,以下是一个示例:
//将文本包装成矩形。
d3plus.textwrap()
.container(d3.select(“#rectWrap”))
.draw();
//将文本包装成矩形,并调整文本大小以适合。
d3plus.textwrap()
.container(d3.select(“#rectResize”))
.调整大小(真)
.draw();
//将文本环绕成一个圆圈。
d3plus.textwrap()
.container(d3.select(#circleWrap”))
.draw();
//将文本环绕成一个圆圈,并调整文本大小以适合。
d3plus.textwrap()
.container(d3.select(#circleResize”))
.调整大小(真)
.draw()代码>
svg{
字体系列:“Helvetica”,“Arial”,无衬线;
高度:425px;
利润率:25px;
宽度:900px;
}
.类型{
填充:#888;
文本锚定:中间;
}
.形状{
填充:#eee;
冲程:#ccc;
}
包裹
这里是一个长文本字符串,SVG默认情况下应该对其进行包装,但它没有。
这里是一个长文本字符串,SVG默认情况下应该对其进行包装,但它没有。
调整大小
这里是一个长文本字符串,SVG默认情况下应该对其进行包装,但它没有。
这里是一个长文本字符串,SVG默认情况下应该对其进行包装,但它没有。
默认行为
这里是一个长文本字符串,SVG默认情况下应该对其进行包装,但它没有。
这里是一个长文本字符串,SVG默认情况下应该对其进行包装,但它没有。
我建议您在谷歌上搜索“svg文本包装”,关于这个主题有很多文章和问题,有各种解决方案。使用SVG没有简单的文本换行方式