D3. js панорамирование и масштабирование - мне всегда нужно переводить подгруппу? - PullRequest
0 голосов
/ 26 января 2020

У меня есть силовой ориентированный граф (скрипка здесь )

Я установил viewbox на самом svg. Я установил зум на самом SVG. Если я на самом деле применяю преобразование к самой svg, это просто сходит с ума. Если я добавляю группу, содержащую все мое содержимое SVG, и применяю к ней преобразование (сохраняя привязку к родительскому SVG), это работает отлично.

Извиняюсь, если кажется странным задавать вопрос «почему это работает», но меня действительно беспокоит, что я не знаю, почему это так. Почему событие преобразует go сумасшедший, когда связывает zoom и преобразование с одним и тем же элементом?

Два поведения можно увидеть, если переключить SHOW_BROKEN в true / false, который управляет поведением преобразования здесь ...

function zoomed() {
      if (SHOW_BROKEN) {
        // This does not work.  Im confused 
        d3.select(this).attr("transform", d3.event.transform);
      } else {
        // This works pretty much perfectly (self.svg is actually a group)
        self.svg.attr("transform", d3.event.transform);
      }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...