Ограничения для масштабирования колесика мыши D3

#javascript #zooming #d3.js

#javascript #масштабирование #d3.js

Вопрос:

Библиотека визуализации d3 имеет отличное масштабирование с колесом мыши и сенсорным управлением, однако, похоже, нет способа ограничить его. Как можно исправить поведение масштабирования d3, чтобы добавить минимальные и максимальные значения?

Комментарии:

1. Вы можете задать вопрос в списке D3, но, глядя на код , здесь нет места для предоставления опций — вам, вероятно, придется написать свое собственное поведение.

2. Спасибо за это, Я. У меня есть вопрос, пока у меня есть только другие ответы, что им тоже нравится эта функция. Я немного покопался, но поведение масштабирования довольно сложное, и у меня не было времени по-настоящему сесть и изучить все.

3. Да, это выглядит явно нетривиально, отчасти потому, что вы не можете просто исправить существующее поведение. Ваш лучший вариант, вероятно, разветвляет код и вводит проверки max / min d3_behavior_zoomTo .

4. Кто-то предложил перенести polymaps.org поведение масштабирования, так что это может быть отправной точкой.

Ответ №1:

Вот моя реализация экстентов для d3.behavior.zoom.

Вероятно, мы можем сделать его более гибким, но, надеюсь, это поможет начать работу.

Комментарии:

1. Эй, Джейсон, большое спасибо за это, будь добр к моим 300 очкам 🙂 Если другие ищут пример — пока он не будет объединен — извлеките вилку Jason для d3 из github, переключитесь на ветку масштабирования, а затем откройте ./examples/zoom-pan/zoom-pan-transform.html

2. Теперь это объединено в 2.5.0.