2016-04-13 8 views
0

パラメータ。私の質問は、どのようにパラメータがレンダリング関数に渡されるかです。
thisは私の理解ではチャートオブジェクト自体に対応していますが、どこから来ていますか?method来ていますか?何がルール/ロジックですか?それはchart(div)機能に対応しているようです。コールバックは、私はから来たコードのD3の部分を理解しようとしている謎

var charts = [ 
    barChart() 
     .dimension(hour) 
     .group(hours) 
     ..., 
    barChart() 
     .dimension(delay) 
     .group(delays) 
     ..., 
    ... 
    ] 

var chart = d3.selectAll(".chart").data(charts) 

function render(method) {d3.select(this).call(method);} 
function renderAll() {chart.each(render);} 

function barChart() { 
    ... 
    function chart(div) { ...} 
    chart.dimension = function(_) {...}; 
    chart.round  = function(_) {}; 
    ... 
    return d3.rebind(chart, brush, "on"); 
} 

答えて

0

selection.each(関数)

電流のこの文脈で、現在のデータdとインデックスiを渡し、現在選択中の各要素のために指定された関数を呼び出しDOM要素。

https://github.com/mbostock/d3/wiki/Selections#each

+0

おかげでデビッドあなたの答えのために、私は「この」パラメータ非常によくなりましたが、私のための主要なポイントはまだ(棒グラフオブジェクトのサブ機能であるように思わメソッドのパラメータを理解していると理解グラフ(div))...私はそれがどのように選択され、レンダリング機能に送信されるのか分かりません – albh

関連する問題