Función D3.js ribbon.source()

La función ribbon.source() en D3.js se usa para configurar el descriptor de acceso de origen a la función especificada y devuelve este generador de cinta.

Sintaxis:

ribbon.source();

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

  • fuente: este parámetro es la función para configurar el descriptor de acceso fuente.

Valor de retorno: esta función devuelve el generador de cintas.

Los siguientes programas ilustran la función ribbon.source() en D3.js

Ejemplo 1:

HTML

<!DOCTYPE html> 
<html>  
<head> 
  <meta charset="utf-8">
  <script src=
      "https://d3js.org/d3.v4.js">
  </script>
</head> 
<body>
  <center> 
    <h1 style="color:green;">GeeksForGeeks</h1>  
    <h3>D3.js | ribbon.source() Function</h3>
    <div id="GFG"></div>
    <script>
      // Create the svg area
      var svg = d3.select("#GFG")
          .append("svg")
          .attr("width", 300)
          .attr("height", 300)
          .append("g")
          .attr("transform", "translate(150,150)");
  
      // Create input data
      var data = [[148, 60, 71, 34, 5, 1],
                  [ 10, 80, 80, 12, 34, 53],
                  [175, 16, 68, 0 , 0, 3],
                  [13, 9, 69, 76, 35, 4],
                  [51, 60, 71, 34, 5, 1]];
  
      // Give this matrix to d3.chord()
      var chords = d3.chord()(data);
  
      var ribbon = d3.ribbon().radius(140);  
  
      // Use of ribbon.source() function
      ribbon({
        source: {startAngle: 0.7524114, 
                   endAngle: 1.1212972},
        target: {startAngle: 1.8617078, 
                   endAngle: 1.9842927}
      });
  
      svg.datum(chords)
          .append("g")
          .selectAll("path")
          .data(function (d) { return d; })
          .enter()
          .append("path")
          .attr("d", ribbon)
          .style("fill", "#4feb34")
          .style("stroke", "black");
    </script> 
  </center>
</body> 
</html>

Producción:

Ejemplo 2:

HTML

<!DOCTYPE html> 
<html>  
<head> 
  <meta charset="utf-8">
  <script src=
     "https://d3js.org/d3.v4.js">
  </script>
  <script src= 
     "https://d3js.org/d3-scale-chromatic.v1.min.js">
  </script>
</head> 
<body> 
  <center> 
    <h1 style="color:green;">GeeksForGeeks</h1> 
    <h3>D3.js | ribbon.source() Function</h3>
    <div id="GFG"></div>
    <script>
      // Create the svg area
      var svg = d3.select("#GFG")
          .append("svg")
          .attr("width", 320)
          .attr("height", 320)
          .append("g")
          .attr("transform", "translate(160,160)");
  
      // Create input data
      var data = [[ 0, 58, 71, 89, 16, 28, 68],
                  [ 19, 51, 0, 20, 60, 61, 71],
                  [ 80, 10, 16, 145, 0, 80, 45],
                  [ 10, 13,  9, 90,  94, 0, 0],
                  [ 80, 10, 16, 145, 0, 80, 45],
                  [ 10, 13,  9, 90,  94, 0, 0]];
  
      // 4 groups, so create a vector of 4 colors
      var colors = [d3.schemeSet2[0], d3.schemeSet2[1],
                    d3.schemeSet2[2], d3.schemeSet2[3],
                    d3.schemeSet2[4], d3.schemeSet2[5],
                    d3.schemeSet2[6], d3.schemeSet2[7]];
  
      // Give this matrix to d3.chord()
      var chords = d3.chord()
          .padAngle(0.175)
          .sortSubgroups(d3.ascending)
          (data);
  
      var rib = d3.ribbon().radius(150);
  
      // Use of ribbon.source() function
      rib({
        source: {startAngle: 0.7, endAngle: 1.2},
        target: {startAngle: 1.6, endAngle: 1.9}
      });
      svg.datum(chords)
          .append("g")
          .selectAll("path")
          .data(function (d) { return d; })
          .enter()
          .append("path")
          .attr("d", rib)
          .style("fill", function (d) { 
              return (colors[d.source.index])
          })
          .style("stroke", "black");
    </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 *