La función d3.zoom() en D3.js se usa para crear un nuevo comportamiento de zoom. Se utiliza para aplicar la transformación de zoom en un elemento seleccionado.
Sintaxis:
d3.zoom();
Parámetros: Esta función no acepta ningún parámetro.
Valor devuelto: esta función devuelve el comportamiento del zoom.
Los siguientes programas ilustran la función d3.zoom() en D3.js
Ejemplo 1: Este ejemplo, Zoom y paneo está hecho. Haga doble clic para hacer zoom, el círculo se hace más grande.
<!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 | d3.zoom() Function</h3> <div id="GFG"></div> <script> var svg = d3.select("#GFG") .append("svg") .attr("width", 300) .attr("height", 300) .call(d3.zoom().on("zoom", function () { svg.attr("transform", d3.event.transform) })) .append("g") svg .append("circle") .attr("cx", 150) .attr("cy", 150) .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 | d3.zoom() 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() .scaleExtent([1, 10]) .translateExtent([[0, 0], [width, height]]) .on("zoom", zoomed); // Call the Zoom. svg.call(zoom); </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