Реализация кнопок масштабирования с использованием d3 - PullRequest
1 голос
/ 21 июля 2011

Я пытаюсь разработать веб-страницу для визуализации графика с использованием d3, и мне нужно предоставить базовые функции масштабирования и панорамирования для графика.

Я видел файл d3.behaviour.js, чтобы увидеть, как работает функция масштабирования.работает.Это нормально, если поведение по умолчанию идет.Но есть ли способ, которым функция масштабирования может быть вызвана вручную, скажем, прикрепив ее для увеличения и уменьшения масштаба.

Ответы [ 2 ]

3 голосов
/ 05 августа 2011

Поведение масштабирования в d3 кажется очень связанным с событиями мыши.

Обходной путь, который вы можете сделать, - это вручную запускать события mousewheel (т.е. / webkit) и DOMMouseScroll (firefox) при нажатии кнопки.

Пример регистрации и отправки этих событий вы можете увидеть здесь: http://jsfiddle.net/6nnMV/

0 голосов
/ 09 октября 2013

Я думаю, что вам просто нужно получить текущий масштаб, увеличить / уменьшить его на единицу, а затем установить его обратно https://github.com/mbostock/d3/wiki/Zoom-Behavior#wiki-scale.

После этого используйте https://github.com/mbostock/d3/wiki/Zoom-Behavior#wiki-event, чтобы обновить визуализацию с помощьюновый масштаб.

...