如何动态更改条形图(dc.js)中的bin大小?

问题描述 投票:1回答:1

因此,我多次调用以下代码,但问题是条形图的bin大小固定在我要放置的第一个数据上,一切都按原样进行了更改,但bin的大小没有改变。

barChart
        .width(1080)
        .height(138)
        .margins({top: 10, right: 10, bottom: 20, left: 50})
        .dimension(key_map[$(this).text()].Dim)
        .group(key_map[$(this).text()].Group)
        .colors(['#6baed6'])
        .x(d3.scale.ordinal().domain(key_map[$(this).text()].Dim)) 
        .xUnits(dc.units.ordinal)
        .elasticY(true)
        .yAxis().ticks(4);

    barChart.elasticX(true).filterAll();dc.redrawAll(); 
dc.js crossfilter
1个回答
0
投票

感谢@Gordon,我终于弄清楚了。

即使我正在调用elasticX(true);,键数组也被忽略了,所以我最终还是调用了chart.focus([all_the_keys_from_the group]);,它现在可以正常工作了。

barChart
    .dimension(key_map[$(this).text()].Dim)
    .group(key_map[$(this).text()].Group)
    .x(d3.scale.ordinal().domain(key_map[$(this).text()].Dim)) 
    .xUnits(dc.units.ordinal)
    .elasticX(true);
    var focus_keys = [];

    key_map[$(this).text()].Group.all().forEach(element => {
        focus_keys.push(element.key);
    });

    barChart.focus(focus_keys);
    barChart.filterAll(); dc.redrawAll(); 
© www.soinside.com 2019 - 2024. All rights reserved.