Javascript库d3调用函数

标签 javascript d3.js

我无法理解 d3.call() 的工作原理以及何时何地使用它。 Here是我要完成的教程链接。

谁能具体解释一下这件作品在做什么

var xAxis = d3.svg.axis()
              .scale(xScale)
              .orient("bottom");

svg.append("g").call(xAxis);

最佳答案

我认为这里的技巧是理解 xAxis 是一个生成一堆 SVG 元素的函数。其实就是d3.svg.axis()返回的函数。 scale 和 orient 函数只是链接语法的一部分(在此处阅读更多内容:http://alignedleft.com/tutorials/d3/chaining-methods/)。

因此 svg.append("g") 将 SVG 组元素附加到 svg 并以选择的形式返回对自身的引用(此处使用相同的链语法)。当您在选择上使用 call 时,您是在选择 g 的元素上调用名为 xAxis 的函数。在这种情况下,您正在新创建和附加的组 g 上运行轴函数 xAxis

如果仍然没有意义,上面的语法等同于:

xAxis(svg.append("g"));

或:

d3.svg.axis()
      .scale(xScale)
      .orient("bottom")(svg.append("g"));

关于Javascript库d3调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12805309/

相关文章:

javascript - d3.js voronoi 事件。当光标正好位于点上方时,鼠标悬停似乎消失

javascript - 力导向图上的 d3.js 工具提示在将鼠标悬停在链接上时不显示完整数据

javascript - Highstock dateTimeLabelFormats 不起作用

javascript - 动画图像的CSS

javascript正则表达式字符串之前或之后没有字符

javascript - Node.js module.exports 回调函数?

javascript -\getting 附加在 JSON 响应中。我应该如何删除这个

javascript - 向折线图添加工具提示未显示

javascript - 创建椭圆包络数据的 D3 映射

javascript - d3.js geoJSON 和边界