一些可重复使用的图表示例,例如histogram,包括以下内容:
// select the svg element, if it exists
var svg = d3.select(this).selectAll("svg").data([data]);
// append the svg element, if it doesn't exist
svg.enter().append("svg") ...
...哪里this
是当前的 DOM 元素,data
是绑定到它的数据。据我了解,此习惯用法允许在第一次调用图表函数时创建图表,但如果您愿意,则不能在后续调用之后“重新创建”。但是,谁能详细解释这个成语?例如:
- 为什么
.selectAll("svg")
使用而不使用.select("svg")
? - 为什么不
.empty()
用于检查空选择? - 可以将任何单元素数组传递给
.data()
吗?(我假设这个数组的目的只是返回输入选择。)
提前感谢您的帮助。