Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.05.2015, 15:21
Интересующийся
Отправить личное сообщение для uaNikita Посмотреть профиль Найти все сообщения от uaNikita
 
Регистрация: 20.09.2011
Сообщений: 12

Правильный zoom на графике c d3.js
Есть вопрос по zoom графика написанного на d3.js. Помогите разобраться. В примере бары и шкала ресайзятся неверно. При зуме бары и шкала перестают соответствовать друг другу и появляются отрицательные значения. Знаю, что что-то делаю не так, но не могу разобраться что именно.

Кто-то может подсказать, как правильно переписать зум чтобы он отрабатывал красиво?

https://jsfiddle.net/z82bedoy/

Код зума
var zoom = d3.behavior.zoom()
      //               .x(self.xScale)
    .y(yScale)
    .scaleExtent([1, 8])
    .on("zoom", function () {
       svg.selectAll('g.info-group').each(function (d, i) {
          var el = d3.select(this);

          svg.select('.bars').attr('transform', 'translate(0,' + d3.event.translate[1] + ')');

          el
           .selectAll('.bar')
           .call(function (s) {
              barSetPosition(s, d.ib, i);
           });
       });

       svg.select('.y.axis').call(yAxis);
    });

   svg.selectAll('.zoom-area, .bars').call(zoom);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Flot Как передать переменную в функцию отрисовки точки на графике Ren jQuery 0 20.06.2012 14:16