Einschränkung der Domain beim Zoomen oder Schwenken in D3.js

Ich habe ein einfaches Liniendiagramm für D3.js implementiert, das gezoomt und verschoben werden kann. Es basiert auf Stephen Bannaschs hervorragendem BeispielHier.

Die Domain meiner Daten ist [0, n] in der x-Dimension.

Wie kann ich das Zoomen und Schwenken auf diese Domain mithilfe des integrierten Zoom-Verhaltens (d. H. Mithilfe von Mausrad-Ereignissen) beschränken?

Ich möchte verhindern, dass Benutzer am unteren Ende nach 0 oder am oberen Ende nach n schwenken. Beispielsweise sollten sie niemals negative Werte auf der x-Achse sehen können und den Zoom auf dasselbe Fenster beschränken.

Die Beispiele, die ich basierend auf Jason Davies Arbeit mit Extent ([...], [...], [...]) gefunden habe, scheinen in Version 2.9.1 nicht mehr zu funktionieren. Leider ist das Zoomverhalten derzeit eine der wenigen Funktionen, die in der ansonsten ausstehenden API-Dokumentation nicht dokumentiert sind.

Hinweise sind willkommen.

PS.Ich habe die gleiche Frage auf der Mailingliste von D3.j gepostet, aber keine Antwort erhalten:https://groups.google.com/d/topic/d3-js/w6LrHLF2CYc/discussion. Entschuldigung für das Crossposting.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage