Tengo una simulación de fuerza d3 dentro de una capa de zoom. Básicamente, este ejemplo se modificó con más funciones: https://bl.ocks.org/puzzler10/4438752bb93f45dc5ad5214efaa12e4a
Mi pregunta es sobre la configuración del zoom.
let transformXYLimit = 700; var zoom_handler = d3.zoom() .scaleExtent([.7, 5.5]) .on("zoom", (event) => { // This x/y limitation does not work properly event.transform.x = Math.min(transformXYLimit, Math.max(event.transform.x, -transformXYLimit)); event.transform.y = Math.min(transformXYLimit, Math.max(event.transform.y, -transformXYLimit)); zoomlayer.attr("transform", event.transform); }); zoom_handler(svg);Logré limitar el zoom con la función "scaleExtent()", sin embargo, también quiero limitar cuánto puede arrastrar el usuario el "zoomlayer" en la dirección x/y para que no "pierda" el gráfico en la nada cuando arrastra demasiado. He intentado limitarlo estableciendo un límite fijo para las variables event.transform.x/y, sin embargo, combinado con un zoom más alto, esto no me permite ver el gráfico completo. ¿Hay alguna forma "oficial" adecuada de limitar estas coordenadas de arrastre x/y?