【发布时间】:2013-02-02 19:48:15
【问题描述】:
在“Towards Reusable Charts”中,Mike 在末尾列出了一个示例 time-series chart。在里面,他有这样一行:
// Select the svg element, if it exists.
var svg = d3.select(this).selectAll("svg").data([data]);
这发生在可重用图表对象的定义中。我很难理解这句话。
首先,为什么要使用
select(this)?this上下文是图表对象的当前实例吗?如果是这样,何必呢,为什么不直接选择页面上的 svg 元素呢?为什么是
selectAll?不是每个图表对象都对应一个图表吗?为什么要
[data],而不仅仅是data,就像我见过的大多数其他例子一样?此外,为什么我们将数据绑定到 svg 元素,而不是(比如说)路径元素?
如果有任何帮助,我将不胜感激。
【问题讨论】:
-
数据似乎绑定到
svg,因此可以在同一个函数中创建和更新 svg 元素。这是正确的吗?
标签: d3.js