victorzadorozhnyy
@victorzadorozhnyy

Как получить Х позицию элемента при наведении мышкой в D3?

Необходимо выводить в Tooltip D3 название из json и высоту элемента
С высотой справился. Теперь как получить значение Х координат
var myChart = d3.select(this.refs.chart).append("svg")
.selectAll("rect")
.data(dataArray)
.on('mouseover', function(d){

                tooltip.html(d)
                    .style('left', (d3.event.pageX +'px'))
                    .style('top', (d3.event.pageY+'px'))
                    .html(function() {
                        //i должна координаты по оси Х получать и из json вытаскивать значение
                        return "<strong>Name:" + i + "</strong> <span style='color:red'>" + d + "</span>"
                    });
//по оси х все просто от 1 до ...
var hScale = d3.scale.ordinal()
            .domain(d3.range(1, dataArray.length+1))
            .rangeBands([0, width]);

Данные изначально перевожу из json в арей что бы пользоваться max-min и прочим, теперь когда возникла необходимость получить еще данные из json не знаю как их еще соединить кроме координат.
data:  [{ 'name': 'Education', 'number': 33},
          { 'name': 'Promotion', 'number': 10},
          { 'name': 'Events', 'number': 55 }]

var fieldsJSON=this.state.data;

        var dataArray = [];
        fieldsJSON.forEach(function(d){return dataArray.push(d.number)});
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы