D3 data() vs. datum()
D3 data() vs. datum()
在Mike Bostock的' Towards Reusable Charts '中,为什么<p>
元素的初始数据链接使用datum(data):
d3.csv("sp500.csv", function(data) {
var formatDate = d3.time.format("%b %Y");
d3.select("#example")
.datum(data)
.call(timeSeriesChart()
.x(function(d) { return formatDate.parse(d.date); })
.y(function(d) { return +d.price; }));
});
在chart()函数中,data([data]):
将数据链接到<svg>
元素// Select the svg element, if it exists.
var svg = d3.select(this).selectAll("svg").data([data]);
// Otherwise, create the skeletal chart.
var gEnter = svg.enter().append("svg").append("g");
gEnter.append("path").attr("class", "area");
gEnter.append("path").attr("class", "line");
gEnter.append("g").attr("class", "x axis");
Mike在他自己的回答中说这两种方法是可以互换的,除了前者不计算连接。那么为什么要在这里使用data(数据)呢?
我也不太明白如果已经有一个<svg>
元素作为评论行建议会发生什么。对我来说,在这种情况下,输入选择是空的,没有进一步的追加将工作…
我一定是误会了什么……
谢谢你的帮助!
在第二种情况下使用.data([data])
的优点是,如果没有SVG,则输入选择的处理会添加SVG。如果SVG存在,则代码完全等同于.datum(data)
—绑定到元素的数据被更改,其他事情不发生。
相关文章:
- setInteval vs setTimeout
- $(this).prop('property') vs. this.property
- Js.erb VS按钮标记-不'不起作用.为什么?
- reactjs this.refs vs document.getElementById
- Performance: NaCl vs Emscripten
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- Advantages to DOMParser vs template & innerHTML
- JavaScript-===vs===运算符性能
- 开发第三方小部件-Angular vs jQuery vs普通的旧JS
- PhantomJS(vs nightwatch.js)设置cookie错误
- Javascript events: window.event vs argument reference (funct
- 需要确认我对Servlet vs RESTful网页的理解's的差异
- "#"keyCode=222 vs 51(Chrome与Android版Chrome)-为什么有区别
- .notion vs.[]notation |插入到文本对象中
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- 没有框架/DLL的VS Web应用程序项目
- Eval vs execscript
- VS代码:在<脚本>标签
- Object.prototype.hasOwnProperty.call() vs Object.prototype.h
- D3 data() vs. datum()