两种可选的D3.js规模语法
Two alternative D3.js scale syntaxes
假设我们有一个y刻度,它将数据域转换为每个数据元素20像素的范围带。
var y = d3.scale.ordinal()
.domain(data)
.rangeBands([0, 20 * data.length]);
我通常会用这个比例来确定某种东西的y坐标,方法是:
svg.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("y", y)
但在一些教程中,我看到了另一种语法。
.attr("y", function(d) { return y(d); })
我不确定这里发生了什么,我想在继续学习D3之前先了解一下。我知道y
是一个函数,所以括号内的d
将是该函数的自变量。但是我们已经指定了y函数中的数据输入。我很想读一篇关于我们实际使用y(d)
做了什么的解释。这两种选择的利弊是什么?
我认为这是复制和粘贴使用匿名函数设置的其他attr
(如第二种情况)时留下的一个小区别。应该没有理由将y
封装在匿名函数中。
相关文章:
- 难以访问的JS环境中的语法错误
- 使用JS函数来使用另一个函数的语法?node.js
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- node.js是否具有'match()'方法如果是,语法是什么
- "未捕获的语法错误:意外的标记"角度JS
- 参数列表Three.js之后的未捕获语法错误:缺少)
- Angular JS“;控制器为“;语法不起作用
- JS中奇怪的函数定义语法
- 将普通js转换为角度语法的快速方法
- JS/JQuidecure比较的正确语法
- HTML 无法识别我要求它运行的 javascript 文件,语法错误:意外的令牌“<”(匿名函数)script.js:
- Chrome vs JS:未捕获的语法错误:意外的令牌)
- JS中的条件运算符-失败的语法错误
- Angular js指令使用控制器作为语法ng点击不起作用
- 样式属性上的JS语法
- 什么'这是“_函数:while“;Babel.js尾部调用中的语法
- 使用JS'更正语法;onclick'PHP echo语句中的函数与嵌入的XML获取进行AND
- Meteor.js中的模板语法无法识别
- 无法突出显示带有突出显示的 xml 语法.js
- 包含/引用 a 的语法..JS文件中的 PHP 文件