javascript - 我正在尝试使用多个 2 数组来绑定(bind) svg 圆的数据,但无法弄清楚如何

标签 javascript arrays d3.js svg

假设我有 2 个数组:

    var x_axis_values = [0,1,2,3];

    var y_axis_values = [2,3,4,5];

    var svgContainer = d3.select("body").append("svg")

                                     .attr("width", 200)

                                     .attr("height", 200);

var circles = svgContainer.selectAll("circle")

                        .data(x_axis_values)
                        .enter()
                        .append("circle");


var circleAttributes = circles

                        .attr("cx",function(d) {return d;})

这里我无法绑定(bind)“cy”的数据,因为我使用的数组是x_axis_values。如何在这里绑定(bind) y_axis_values 数组中的数据?我知道使用 JSON 格式可能会更简单,但如果我使用数组来完成此操作会更好。

提前致谢。

最佳答案

只需获取您所在的索引并从 y_axis_values 数组中返回相应的值即可:

var x_axis_values = [0, 1, 2, 3];

var y_axis_values = [2, 3, 4, 5];

var svgContainer = d3.select("body").append("svg")
  .attr("width", 200)
  .attr("height", 200);

var circles = svgContainer.selectAll("circle")

.data(x_axis_values)
  .enter()
  .append("circle");


var circleAttributes = circles
  .attr("cx", function(d) {
    return d;
  })
  .attr("cx", function(d, i) { //add i here to get current index
    return y_axis_values[i]; //gets current index of x_axis_values and  gets the corresponding y_axis_values value
  })

关于javascript - 我正在尝试使用多个 2 数组来绑定(bind) svg 圆的数据,但无法弄清楚如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37205498/

相关文章:

javascript - 在子模块中看不到 Angular 4 组件

python - 如何将坐标值 append 到坐标数组?

javascript - 气泡图c3js

javascript - 如何在浏览器宽度上重复一个圆圈

javascript - Cypress - 重新连接到 Chrome DevTools 协议(protocol)时出错

javascript - RadAjaxManager AjaxRequest 类型错误 : Cannot read property 'id' of undefined

javascript - array.map() 不返回单个数组

javascript - 使用 JavaScript 高效地将 JSON 对象从对象数组添加到另一个复杂的对象数组中

javascript - d3 直方图和条形图数据

typescript - 如何使用 D3 的链接生成器偏移贝塞尔曲线的源点和目标点?