2016-09-06 4 views
1

Я действительно не знаю, почему, но мое xPosition в штабелированной гистограмме, над которой я работаю, действительно не работает. Может кто-то сказать, что я делаю неправильно?x позиция всплывающей подсказки в d3 уложенная гистограмма не работает

Независимо от того, что бар я парить над ней всегда выходит на стороне:

enter image description here

Вот код JS Bin, что я работаю на: https://jsbin.com/qudoyewiba/edit?js,output

Вся помощь ценится. Благодаря!

ответ

1

Осмотрите консоль, консоль - ваш друг. У вас много NaNs. Причина проста: ваши элементы rect не имеют атрибута «x». Таким образом, это не работает:

var xPos = parseFloat(d3.select(this).attr("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.transform' был удален в D3 версии 4 ... поэтому этот фрагмент не будет работать, если вы обновите свой код до версии v4. –

+0

В настоящее время я работаю с версией 3, но я буду помнить об этом. Спасибо за совет. – konrad