D3 でテキスト要素の幅を設定できるようにしたいと考えています。今のところ、円の中にテキストがありますが、この要素の幅を設定できません。nodeEnter
(それが私のグラフのノードだとしましょう)
nodeEnter.append("circle")
.attr("r", function(d){return d.radius+"px";});
/* Add text in middle of circle */
nodeEnter.append('text')
.text("this is a very long text");
私が望むのは、そのテキスト要素の幅を設定する簡単な方法を見つけることです(単純なように、オーバーフローが下がりdiv
ます)。私が今持っている方法は次のとおりです。
nodeEnter.append("circle")
.attr("r", function(d){return d.radius+"px";});
/* Add text in middle of circle */
nodeEnter.append("foreignObject")
.attr("width", 130)
.attr("height", 200)
.attr("class", "myCSS")
.append("xhtml:div")
.html("this is a very long text");
myCSS
ただし、設定したものがすべて上書きされるなど、それが最善の解決策だとは思いません。さらに、外部オブジェクトを円の中心に配置する方法がわかりません (特に x 軸上)。
よろしくお願いします。