現在、各バーの上にバーの値が関連付けられているグラフがありますが、各テキスト要素の幅を取得できないため、値のラベルを中央に配置するのが困難です。
これが私のグラフが現在どのように描いているかです:
私がする必要があるのは、各テキスト要素の幅の半分を引くことだけですが、次のCoffeescriptではそうすることができないようです。
#Drawing value labels
svg.selectAll("rect")
.data(data)
.enter()
.append("text")
.text((d)-> d.Total)
.attr("width", x.rangeBand())
.attr("x", (d)->
textWidth = d3.selectAll("text").attr("width")
x(d.Year) + (x.rangeBand() / 2) - (textWidth / 2)
)
.attr("y", (d)-> y(d.Total) - 5)
.attr("font-size", "10px")
.attr("font-family", "sans-serif")
#Drawing bars
svg.selectAll("rect")
.data(data)
.enter().append("rect")
.attr("class", "bar")
.attr("x", (d)-> x(d.Year))
.attr("width", x.rangeBand())
.attr("y", (d)-> y(d.Total))
.attr("height", (d)-> height - y(d.Total))
各テキスト要素のwidth属性にアクセスして、オフセットする値を設定する方法はありますか?