0

d3では、通常、(x、y)ペアなどのデータをレンダリングする必要があります。

var points = [{x:1, y:2}, {x:3, y:4}]

レンダリングに関するメタデータ(幅など)があります。

var width = 100

問題は、メタデータをどこに置くかです。

1:mbostockの再利用可能なチャートで提案されているように、クロージャーアクセサーを使用します: http ://bost.ocks.org/mike/chart/

selection.data(points).call(thing().width(width))

2:他のすべてと同じように、バインドされたデータを使用します。

selection.data([{width: width, points: points}]).call(thing())

どちらかを選択する理由はありますか?

クロージャーアクセサー法は、より多くの定型文を含むようです。

え?

4

1 に答える 1

0

クロージャーアクセサーはより柔軟であるように私には思えます。特に、データにバインドする場合は、コードの残りの部分で個別に処理する必要があります。データthing()を抽出pointsして別のdata()呼び出しに渡してバインドし、それぞれの要素(または必要なもの)を追加する必要があります。行う)。

私は常にクロージャーアクセサーを使用しています。

于 2013-01-25T19:54:47.060 に答える