我有一个矩形和一个通过D3创建的文本,它们如下组合在一起。
<g>
<rect></rect>
<text></text>
</g>
在javascript函数中,我正在扩展此矩形的宽度,以允许一次显示文本的值。 (如果值太长,则动态设置文本值)。这工作正常。但是,即使矩形宽度根据文本值大小而扩展,D3文本元素也不会显示添加的完整文本值,最终文本将移动到左侧,并且无法看到它的第一位。
我是否还需要增加文本元素的宽度或者解决此问题的方法?
[UPDATE]
以下是当前的代码。
var elms = d3.selectAll("[id=s]"); // has the rectangle and text elements
var s = d3.selectAll("[id=s]").selectAll("text"); // just the text elements
var minimumValue = 100;
// updating rectangle width
elms.attr('width', function() { return dynamic < minimumValue ? minimumValue : dynamic;});
现在我需要一种方法来在展开矩形时更新文本元素的位置。希望这更清楚。我只是尝试手动更新有效的文本元素的'x'属性。但是我可以动态地导出这个值来在这个函数中设置它吗?
答案 0 :(得分:0)
如果有人正在寻找这个,能够获得新的文字&#39; x&#39;矩形的x值+矩形宽度的一半(y的值与高度相似)。
得到答案