Ograniczanie domeny podczas powiększania lub przesuwania w D3.js

Zaimplementowałem prosty wykres liniowy D3.js, który można powiększać i przesuwać. Opiera się na doskonałym przykładzie Stephena Bannaschatutaj.

Domena moich danych to [0, n] w wymiarze x.

Jak mogę ograniczyć powiększanie i przesuwanie do tej domeny za pomocą wbudowanego zachowania zoomu (np. Za pomocą zdarzeń kółka myszy)?

Chcę uniemożliwić użytkownikom przesuwanie poza 0 na dolnym końcu lub n na górnym końcu, na przykład nigdy nie powinni być w stanie zobaczyć ujemnych wartości na osi x i chcą ograniczyć powiększanie do tego samego okna.

Przykłady, które znalazłem na podstawie Jason'a Daviesa, działają w dużym stopniu ([...], [...], [...]) wydają się już nie działać w wersji 2.9.1. Niestety zachowanie zoomu jest obecnie jedną z niewielu funkcji, które nie zostały udokumentowane w wyjątkowej dokumentacji API.

Wszelkie wskazówki są mile widziane.

PS.Wysłałem to samo pytanie na liście dyskusyjnej D3.js, ale nie otrzymałem odpowiedzi:https://groups.google.com/d/topic/d3-js/w6LrHLF2CYc/discussion. Przeprosiny za przesyłanie postów.

questionAnswers(2)

yourAnswerToTheQuestion