2016-09-06 9 views
1

私が実際に働いていない積み重ね棒グラフのxPositionは本当にわかりません。誰かが私が間違っていることを伝えることができますか?x3の棒グラフのd3の棒グラフの位置が正しくありません

どんなに私はそれの上にマウスを置く何バーいつも側に出てくるん:すべてのヘルプは高く評価されhttps://jsbin.com/qudoyewiba/edit?js,output

enter image description here

ここで私はに取り組んでいますJSビンコードです。ありがとう!

答えて

1

コンソールを調べると、コンソールはあなたの友人です。あなたには多くのNaNがあります。理由は簡単です:あなたのrect要素には "x"属性がありません。だから、これは動作しません:

var xPos = parseFloat(d3.select(this).attr("x")); 

代わりに、あなたはそのそれぞれの長方形の親であるグループの「x」の翻訳を取得する必要があります。

var group = d3.select(d3.select(this).node().parentNode); 
var xPos = d3.transform(group.attr("transform")).translate[0]; 

ここにあなたの作業コードがあります:https://jsbin.com/dutetokoti/1/edit

+1

ありがとうございました! – konrad

+0

心配はいりません。 D3バージョン4では 'd3.transform'が削除されているので、コードをv4に更新するとこのスニペットは機能しません。 –

+0

私は現在バージョン3で作業していますが、私はそれを念頭に置いています。先端に感謝します。 – konrad

関連する問題