我尝试将词云转换为单词列表。我已经成功地完成了转换,但是在文本动画时遇到了问题。由于词云使用
text-anchor: middle
来定位文本,当我切换到使用 text-anchor: start
的列表布局时,单词会在动画开始时稍微抖动。请参见下面的 fiddle 和相关代码:
text.transition()
.duration(1000)
.attr("text-anchor", opts.textAnchor)
.attr("transform", function(d) {
return "translate(" + [d.x, d.y] + ")";
})
.style("font-size", function(d) {
return d.size + "px";
})
我认为,我应该手动计算每个文字的位置,并创建自己的居中文本,而不是使用 text-anchor: middle
。但我不确定如何做到这一点。
任何帮助将不胜感激。
.getBBox()
这个函数,但是它让一切变得简单了。 - Cihad Turhan