Zaimplementowałem prosty wykres liniowy D3.js, który można powiększać i przesuwać. Opiera się na doskonałym przykładzie Stephena Bannascha: here.Ograniczanie domeny podczas powiększania lub przesuwania w D3.js
Domeną moich danych jest [0, n] w wymiarze x.
Jak ograniczyć powiększanie i przesuwanie do tej domeny przy użyciu wbudowanego zoomu (np. Za pomocą kółka myszy)?
Chcę uniemożliwić użytkownikom panoramowanie przeszłości 0 na dolnym końcu lub n na górnym końcu, na przykład nigdy nie powinni widzieć ujemnych wartości na osi X, i chcą ograniczyć powiększanie do tego samego okna .
Przykłady, które znalazłem na podstawie pracy Jasona Daviesa przy użyciu zakresu ([...], [...], [...]) wydają się już nie działać w wersji 2.9.1. Niestety, zachowanie zoomu jest obecnie jedną z niewielu funkcji, których nie udokumentowano w znakomitej dokumentacji interfejsu API.
Wszystkie wskaźniki są mile widziane.
PS. Opublikowałem to samo pytanie na liście adresowej D3.js, ale nie otrzymałem odpowiedzi: https://groups.google.com/d/topic/d3-js/w6LrHLF2CYc/discussion. Przepraszamy za cross-posting.
Wiem, że ten wpis jest stary, ale dla Twojej wiadomości: link, który umieściłeś, pozwala mi pomniejszać zawartość i przesuwać ją do moich serc. (Chrome 29.0) – SgtPooki
Twój kod działa na moim własnym wykresie. Twoje zdrowie. – SgtPooki
Wykres jest powiększany podczas panoramowania za pomocą tego przykładu. –