3
如果你關注Mike Bostock的bl.ocks,你知道在過去的8個月裏,d3.geo.pipeline()一直是他項目的一個常用組件。什麼是d3.geo.pipeline?
但它是做什麼的?
你看他設置的管道像這樣:
var sketch = d3.geo.pipeline()
.source(d3.geo.jsonSource)
.pipe(resample, .020)
.pipe(jitter, .004)
.pipe(smooth, .005)
.sink(d3.geo.jsonSink);
有一個在d3.geo wiki.
一些美化JS代碼示例中使用任何文檔中未發佈的D3揭示本功能:
lo.geo.pipeline = function() {
var n = [];
return {
source: function() {
return n[0] = arguments, this
},
pipe: function() {
return n.push(arguments), this
},
sink: function() {
for (var t, e = arguments[0].apply(null, [].slice.call(arguments, 1)), r = e; t = n.pop();) {
var u = [].slice.call(t, 1);
u.push(e), e = t[0].apply(null, u)
}
return function() {
return e.apply(this, arguments), r.value && r.value()
}
}
}
它也出現在這些bl.ocks:
我確實在該問題中發佈了該功能的代碼,但源代碼鏈接有幫助 –
@Incodeveritas,我對此功能添加了一些評論。 –
@Incodeveritas,我再次更新了我的答案 - 也許現在它更有用。 –