1

我有一个复选框列表,我将所有选中的值保存在一个数组中-> 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文件吗?

4

0 回答 0