Estoy tratando de construir un gráfico de barras, pero sigo recibiendo este error:
SyntaxError: missing ) after argument listDice que el problema está en la línea del método .range() pero no lo veo. Todo me parece bien.
Descargué el conjunto de datos desde aquí: https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/GDP-data.json
let url = "data.json"; var svg = d3.select('body') .append('svg') .attr('width', 900) .attr('height', 460); var yScale; var arr = []; d3.json(url).then(function(data) { for (let i = 0; i < data.data.length; i++) arr[i] = data.data[i]; }).then(() => yScale = d3.scaleLinear() .domain([0, d3.max(arr, (d) => d[1])]) .range([460, 0]); svg.selectAll('rect') .data(arr) .enter() .append('rect') .attr('fill', 'blue') .attr('height', d => d[1]) .attr('width', 3) .attr('x', (d, i) => 4 * i) .attr('y', (d, i) => yScale(d[1])) ); <script src="https://d3js.org/d3.v6.min.js"></script>Con múltiples líneas de código, su función de flecha necesita llaves
d3.json(url).then(function(data) { for (let i = 0; i < data.data.length; i++) arr[i] = data.data[i]; }).then(() => { yScale = d3.scaleLinear() .domain([0, d3.max(arr, (d) => d[1])]) .range([460, 0]); svg.selectAll('rect') .data(arr) .enter() .append('rect') .attr('fill', 'blue') .attr('height', d => d[1]) .attr('width', 3) .attr('x', (d, i) => 4 * i) .attr('y', (d, i) => yScale(d[1])) });