チェックボックスのリストがあり、チェックされたすべての値を配列に保存しています-> selected_prospect_array。
json オブジェクト配列をフィルター処理して、selected_prospect_array にある値のみを返そうとしています。
フィルター処理された json を使用して D3 円を生成したいと考えています。
これは、最初にループを設定する方法です。selected_prospect_array -> d3 でフィルター -> バブルを描画し、プロセスを再度開始します。
唯一の問題は、最初のバブルしか描画しないことです。最初のバブルを描画した後、ループが停止するようです。
私のコードは次のようになります。
for (i = 0; i < selected_prospect_array.length; i++) {
var tempdata;
var val = selected_prospect_array[i];
tempdata = filteredjson.filter(function (d) { return d.ProspectName == val; });
g.selectAll("circle").data(tempdata).enter().append("circle")
.attr("cx", function (d) { return x_scale(d.PercentageComplete * 100) })
.attr("cy", function (d) { return y_scale(d.GPoS * 100) })
.attr("r", "30")
.attr("stroke", "blue")
.attr("stroke-width", 1)
.attr("opacity", 0.6)
.attr("fill", "red");
}
これを行う他の方法はありますか?json ファイルを直接フィルタリングできますか?