Función D3.js línea.y()

La función line.y() se utiliza para establecer el descriptor de acceso y a la función oa un número y luego lo devuelve a la función de generador de línea invocada por la función d3.line(). Si no se especifica y, devuelve el descriptor de acceso y actual.

Enfoque: en este ejemplo, para crear el gráfico de líneas, en primer lugar, cree el elemento SVG y establezca su ancho y alto como en el ejemplo a continuación. Luego cree un archivo CSV, los datos del archivo se dan en el ejemplo. Agregamos el contenedor de grupo al SVG. Después de esto, cree una función de generador de línea usando la función d3.line().

Después de crear la función del generador de líneas, configure el dominio y el rango de escala x e y y agregue la escala al SVG. Luego proporcione los datos de la escala x y los datos de la escala y usando line.x() y line.y() para el eje x y el eje y. Después de esto, agregue la ruta a SVG y proporcione los datos de la función del generador de líneas al atributo «d» del contenedor de la ruta. Dale un poco de estilo al gráfico de líneas y listo.

Sintaxis:

line.y([y]);

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

  • y: este parámetro se utiliza para configurar el descriptor de acceso y.

Valores devueltos: esta función no devuelve nada.

A continuación se dan algunos ejemplos de la función dada anteriormente.

Ejemplo:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
        <meta charset="UTF-8" /> 
        <meta
            property="viewport"
            content="width=device-width, 
                    initial-scale=1.0"/> 
        <title>GeeksforGeeks</title> 
        <!--Fetching from CDN of D3.js -->
        <script src= 
        "https://d3js.org/d3.v4.min.js"> 
        </script>
    </head>
    <body> 
        <div style="width:300px; height:300px;">
            <center>
                <h1 style="color:green">
                    GeeksforGeeks
                </h1> 
                <h2>
                    line.y();
                </h2> 
            </center>
            <svg width="300" height="300">
            </svg>
        </div>
        <script>
        // Selecting SVG and appending group tag
        var svg = d3.select("svg")
          .append("g")
            .attr("transform",
                  "translate(80, -80)");
        // Data for the CSV file
            // year, population
            // 110, 20
            // 130, 25
            // 135, 20
            // 140, 25
            // 180, 20
  
        // Fetching data from CSV file
        d3.csv("data.csv",
          (data)=>{
            // Setting domain and range of x-scale 
            var x = d3.scaleLinear()
              .domain([100, 200])
              .range([ 0, 200]);
  
            // Appending x-axis
            svg.append("g")
              .attr("transform", "translate(0, 300)")
              .call(d3.axisBottom(x));
              svg.append("text")             
                .attr("transform", "translate(100, 340)")
                .text("Year");
          
            // Setting domain and range of y-scale
            var y = d3.scaleLinear()
              .domain([0, 100])
              .range([ 200, 0 ]);
  
            // Appending y-axis
            svg.append("g")
              .attr("transform", "translate(0, 100)")
              .call(d3.axisLeft(y));
  
            svg.append("text")             
            .attr("transform", "rotate(-90)")
            .attr("y", -50)
            .attr("x", -250)
            .attr("dy", "1em")
            .text("Population");
                  
          
            // Constructing line generator
            var line=d3.line();
            line.x(function(d) { return x(+d.year) });
  
            // Using line.x() Function
            line.y(function(d) { return y(+d.population) });
  
            // Appending the path i.e the line
            svg.append("path")
              .datum(data)
              .attr("stroke", "green")
              .attr("stroke-width", "2")
              .attr("fill", "none")
              .attr("d", line)
              .attr("transform", "translate(0, 80)");
        });
        </script> 
    </body> 
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por TARuN 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 *