Función D3.js zoom.extent()

La función zoom.extent() en D3.js se usa para establecer la extensión de la ventana gráfica en la array de puntos especificada [esquina superior izquierda, esquina inferior derecha].

Sintaxis:

zoom.extent([extent])

Parámetros: esta función acepta un solo parámetro como se mencionó anteriormente y se describe a continuación

  • extension: este parámetro se puede definir como especificado como una función que devuelve dicha array.

Valor devuelto: esta función devuelve el comportamiento del zoom.

Los siguientes programas ilustran la función zoom.extent() en D3.js

Ejemplo 1:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8">
  
    <script src="https://d3js.org/d3.v4.min.js"> 
   </script>
</head> 
    
<body> 
    <center>
        <h1 style="color: green;"> 
            Geeksforgeeks 
        </h1> 
      
        <h3>D3.js | zoom.extent() Function</h3>
          
        <div id="GFG"></div>
          
        <script>
            var svg = d3.select("#GFG")
              .append("svg")
                .attr("width", 300)
                .attr("height", 200)
                .call(d3.zoom()
                .extent([[0, 0], [200, 200]])
                .on("zoom", function () {
                   svg.attr(
             "transform", d3.event.transform)
                }))
              .append("g")
              
            svg
              .append("circle")
                .attr("cx", 150)
                .attr("cy", 100)
                .attr("r", 40)
                .style("fill", "green")
              
        </script> 
    </center>
</body> 
  
</html> 

Producción:

Ejemplo 2:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8">
       
    <script src="https://d3js.org/d3.v4.min.js"> 
    </script>
       
    <style>
        svg text {  
            fill: green;  
            font: 20px sans-serif;  
            text-anchor: center;  
        }  
           
        rect {
          pointer-events: all;
        }
    </style>
      
</head> 
     
<body> 
    <center>
        <h1 style="color: green;"> 
            Geeksforgeeks 
        </h1> 
       
        <h3>D3.js | zoom.extent() Function</h3>
           
        <svg></svg>
           
        <script>
            var width = 400;
            var height = 200;
               
            var svg = d3.select("svg")
              .attr("width", width)
              .attr("height", height);
                 
            // The scale used to display the axis.
            var scale = d3.scaleLinear()
              .range([10, width-20])
              .domain([0, 100]);
                
            var shadowScale = scale.copy();
               
            var axis = d3.axisBottom()
              .scale(scale);
                 
            var g = svg.append("g")
              .attr("transform", "translate(0, 50)")
              .call(axis);
                 
            // Standard zoom behavior:
            var zoom = d3.zoom()
              .extent([[0, 0], [width, height]])
              .on("zoom", zoomed);
                
            // Call the Zoom.
            var rect = svg.append("rect")
              .attr("width", width)
              .attr("height", height)
              .attr("fill", "none")
              .call(zoom);
                
            function zoomed() {
              var t = d3.event.transform;
              scale.domain(t.rescaleX(shadowScale).domain());
              g.call(axis);
            }
        </script> 
    </center>
</body> 
   
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *