Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

228
Views
d3.js Simulación de fuerza con zoom: Limite la transformación x/y al arrastrar

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?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!