La función band.copy() se usa para construir y devolver la copia de la escala actual con el mismo dominio y rango. Los cambios realizados en cualquier escala son independientes entre sí, es decir, el cambio en la escala original no afectará a la escala de la copia y viceversa.
Sintaxis:
band.copy();
Parámetros: Esta función no acepta ningún parámetro.
Valores devueltos: esta función devuelve una copia de la escala actual. El tipo de retorno es una función.
A continuación se dan algunos ejemplos de la función dada anteriormente.
Ejemplo 1:
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "UTF-8" /> <meta name = "viewport" path1tent = "width=device-width, initial-scale = 1.0"/> <script src = "https://d3js.org/d3.v4.min.js"> </script> </head> <body> <script> // Creating the band scale //with specified domain and range. var band = d3.scaleBand() .domain([10, 20, 30, 40, 50]) .range([10, 100]); // Discrete values are automatically created // By the band function // Band of the range is [10, 100] console.log("band(10): ", band(10)); console.log("band(50): ", band(50)); var bandCopy = band.copy(); console.log("bandCopy(10): ", bandCopy(10)); console.log("bandCopy(50): ", bandCopy(50)); </script> </body> </html>
Producción:
Ejemplo 2:
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "UTF-8" /> <meta name = "viewport" path1tent = "width=device-width, initial-scale = 1.0"/> <title>GeekforGeeks</title> <script src = "https://d3js.org/d3.v4.min.js"> </script> </head> <body> <script> // Creating the band scale // with specified domain and range. var band = d3.scaleBand() .domain([10, 20, 30, 40, 50]) .range([1, 10]); // Discrete values are automatically created // By the band function // Band of the range is [1, 10] console.log( "Before any type of change in original scale:"); console.log("band(10): ", band(10)); console.log("band(50): ", band(50)); // Making copy of the original scale var bandCopy = band.copy(); console.log( "When the range of the original "+ "scale is changed to rangeRound:"); // Making changes to the original scale band.rangeRound([1, 10]); console.log("band(10): ", band(10)); console.log("band(50): ", band(50)); console.log("Output of the copy scale:"); console.log("bandCopy(10): ", bandCopy(10)); console.log("bandCopy(50): ", bandCopy(50)); </script> </body> </html>
Producción: