Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

225
Vistas
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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda