dc.js x轴不刷新
dc.js x axis not refreshing
我将交叉过滤器与多个图表结合使用 dc.js
。
使用环形图过滤时,折线图中的数据消失,但x轴保持不变,不刷新。
var tempLineChartt1 = dc.lineChart("#chart-line-temp-t1");
tempLineChartt1
.width(768)
.height(480)
.elasticX(true)
.x(d3.time.scale().domain([dateDim.bottom(1)[0].dd,dateDim.top(1)[0].dd]))
.elasticX(true)
.dimension(dateDim)
.group(iotmPerDate)
.renderArea(true)
.brushOn(false)
.renderDataPoints(true)
.clipPadding(10)
.yAxisLabel("T1")
我知道这个问题已经回答了几次,但我在快速搜索中找不到确切的参考。
很可能您指的是垃圾箱不会自动从交叉过滤器组中删除这一事实。所以 dc.js 认为没有理由更改 X 域 - elasticX(true)
只会在 X 键组更改时启动,而这里 Y 值只降为零。
您可以使用 "fake group" 动态过滤掉这些结果:
function remove_empty_bins(source_group) {
return {
all:function () {
return source_group.all().filter(function(d) {
return d.value != 0;
});
}
};
}
var filtered_group = remove_empty_bins(group) // or filter_bins, or whatever
chart.dimension(dim)
.group(filtered_group)
https://github.com/dc-js/dc.js/wiki/FAQ#fake-groups
有了这个,每次重新绘制折线图时,假组都会在读取数据时过滤掉零。然后折线图将重新计算域并缩放以适合。
我将交叉过滤器与多个图表结合使用 dc.js
。
使用环形图过滤时,折线图中的数据消失,但x轴保持不变,不刷新。
var tempLineChartt1 = dc.lineChart("#chart-line-temp-t1");
tempLineChartt1
.width(768)
.height(480)
.elasticX(true)
.x(d3.time.scale().domain([dateDim.bottom(1)[0].dd,dateDim.top(1)[0].dd]))
.elasticX(true)
.dimension(dateDim)
.group(iotmPerDate)
.renderArea(true)
.brushOn(false)
.renderDataPoints(true)
.clipPadding(10)
.yAxisLabel("T1")
我知道这个问题已经回答了几次,但我在快速搜索中找不到确切的参考。
很可能您指的是垃圾箱不会自动从交叉过滤器组中删除这一事实。所以 dc.js 认为没有理由更改 X 域 - elasticX(true)
只会在 X 键组更改时启动,而这里 Y 值只降为零。
您可以使用 "fake group" 动态过滤掉这些结果:
function remove_empty_bins(source_group) {
return {
all:function () {
return source_group.all().filter(function(d) {
return d.value != 0;
});
}
};
}
var filtered_group = remove_empty_bins(group) // or filter_bins, or whatever
chart.dimension(dim)
.group(filtered_group)
https://github.com/dc-js/dc.js/wiki/FAQ#fake-groups
有了这个,每次重新绘制折线图时,假组都会在读取数据时过滤掉零。然后折线图将重新计算域并缩放以适合。