2

有一个SlickGrid 和 d3.js一起使用的很好的例子。我正在尝试根据自己的目的调整此可视化,但我发现该示例过于复杂而无法分解。这些示例似乎主导了有关该主题的所有搜索结果,因此我正在努力寻找更简单的学习方法。

我想采用标准图表(散点图/条形图/等),应用画笔并在数据表中显示过滤结果。我已经成功地使用 dc.js 来做到这一点(开箱即用),但我的实际数据有数万行......使 SlickGrid 成为首选。

这是一个 jsFiddle 的链接,显示了我想要实现的目标。刷子可以识别哪些数据已被“刷”(为了外观而应用类更改),但我不知道如何将此数据的 ID 传递给 SlickGrid 以更新网格。在 jsFiddle 中,我尝试使用 gridUpdate(d),就像原来的平行坐标示例一样......没有成功。

svg.append("g")
    .attr("class", "brush")
    .call(d3.svg.brush().x(x).y(y)
    .on("brushstart", brushstart)
    .on("brush", brushmove)
    .on("brushend", brushend));

function brushmove() {
    var e = d3.event.target.extent();

    rectData.classed("selected", function(d, i) {
    if ( e[1][1] >= d.id && e[0][1] <= d.id && x(e[0][0]) <= x(d.Date) && x(e[1][0]) >= x(d.Date) ) 
        { gridUpdate(d); return true; } 
    else 
        { return false; };
});

我已经尝试了很多次迭代,但我不太清楚 dataView 想要什么作为输入......

function gridUpdate(data) {
    dataView.beginUpdate();
    dataView.setItems(data);
    dataView.endUpdate();
};

任何帮助将不胜感激,我一直在努力解决 SlickGrid 上的文档问题,终于到了需要寻求帮助的地步!

4

0 回答 0