将记录添加到交叉筛选器dosen't更新dc.js lineChart组
Adding records to crossfilter dosen't update the dc.js lineChart group
我在应用程序中使用dc.js和crossfilter。在我的代码中,我监听数据到来时的事件(例如来自websocket),并将数据添加到我的交叉过滤器实例中,然后调用dc.rerawAll();
我看到dc lineChart没有更新它的分组值。
var instance = crossfilter();
function onData(data) {
instance.add(data);
// -- code to update the x/y axis domains
dc.redrawAll();
}
function drawLineChart() {
var dimension = instance.dimension(function(){ .. });
// => WHEN DATA IS ADDED (onData)
// THE GROUPING DOSEN'T UPDATE
var grouping = dimension.group().reduceCount();
// initializing the line chart
var lineChart = dc.lineChart() ....;
lineChart.dimension(dimension).group(grouping);
}
我应该如何更新分组?
维度和组应自动更新。请参见此示例:http://jsfiddle.net/yHmkc/1/
在 1秒后添加数据并更新图表的情况下
setTimeout(function () {
cf.add([{
"key": "KEY-6",
"state": "MD",
"topics": ["Science"],
"date": new Date("10/09/2012")
}]);
dc.redrawAll();
}, 1000);
您没有提到data
是什么,但我认为它是单个对象,而不是数据对象的数组。你需要传递一个数组。如果您只传递一个数据对象,它似乎会像您观察到的那样默默地失败。
instance.add([data]); // `[data]` instead of `data`
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- $rootScope未使用forEach进行更新
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- Angular:更新一次性绑定的数据
- Javascript更新孙窗口中的表单元素
- 使用AngularJS中的筛选器更新给定的表
- 从选项页面更新chrome扩展清单权限
- 如何在不刷新页面的情况下更新显示框
- 交互式图表(通过 dc.js)未正确相互更新
- 将记录添加到交叉筛选器dosen't更新dc.js lineChart组
- DC.js 应用过滤器后热图颜色范围未更新
- dc传单js如何使用新ajax调用中的数据更新clopeth
- 当应用过滤器时,DC.js复合图表不更新