D3.js dc.js/crossfilter.js brushon filter-所选筛选未在其他图表中更新

D3.js dc.js/crossfilter.js brushon filter-所选筛选未在其他图表中更新,d3.js,dc.js,crossfilter,D3.js,Dc.js,Crossfilter,过滤器/画笔范围不适用于我的某个图表中的某些值 此图表的范围从0开始,到300结束 范围>100的笔刷选择无效,其他图表未过滤和显示相关数据 如果有人能指出可能的问题,这将是有益的 样本数据-开始 ioi、分析日期、收盘时间、交易时间、窗口、价格渠道、交易数量 不,2011年2月28日,不,12:36.0,12:38:00,0.73,15, 不,2011年2月28日,不,12:39.0,12:40:00,0.73,23, 不,2011年2月28日,不,12:57.0,12:58:00,0.73,

过滤器/画笔范围不适用于我的某个图表中的某些值

此图表的范围从0开始,到300结束

范围>100的笔刷选择无效,其他图表未过滤和显示相关数据

如果有人能指出可能的问题,这将是有益的

样本数据-开始 ioi、分析日期、收盘时间、交易时间、窗口、价格渠道、交易数量 不,2011年2月28日,不,12:36.0,12:38:00,0.73,15, 不,2011年2月28日,不,12:39.0,12:40:00,0.73,23, 不,2011年2月28日,不,12:57.0,12:58:00,0.73,58, 不,2011年2月25日,不,09:21.0,09:22:00,0.64,10, 不,2011年2月25日,不,09:31.0,09:32:00,0.64,85, 是的,2010年11月30日,是的,12:58.0,13:00:00,0.95300,很长, 是的,2010年11月30日,是的,12:58.0,13:00:00,0.95200,长,
结束

否或是新行的开始

代码开始

    var analysis_date_dimension;
    var dimension_trade_qty;
    var dim_time_of_day;

    d3.csv("formatted_client_data.csv", function (error, response) {

        var min_trade_quantity = 0
        var max_trade_quantity = 310;

        response.forEach(function (d, i) {
            d.index = i;
            d.analysis_date = d3.time.format("%m/%d/%Y").parse(d.analysis_date);
            d.trade_time = d3.time.format("%I:%M").parse(d.trade_time.split('.')[0]);
            d.date_time = getDateTime(d.analysis_date, d.trade_time);               
        });

        function getDateTime(date, time) {
            var dd = date.getDate();
            var mm = date.getMonth() + 1;
            var yy = date.getFullYear();

            var hh = time.getHours();
            var ms = time.getMinutes();

            var x = yy + ',' + mm + ',' + dd + ' ' + hh + ':' + ms;

            return new Date(x);
        }

        var responseData = crossfilter(response);

        //Main Chart
        analysis_date_dimension = responseData.dimension(
                function (d) { return d.analysis_date; });

        var day_total = analysis_date_dimension.group().reduceSum(
                function (d) { return d.trade_quantity; });

        //Trade Quantity Chart
        dimension_trade_qty = responseData.dimension(
                function (d) { return d.trade_quantity; });

        var group_trade_qty = dimension_trade_qty.group().reduceCount(
                function (d) { return d.trade_quantity; });

        var day_chart = dc.barChart("#charts");
        var trad_qty_chart = dc.barChart("#chart_trade_qty");

        //Days chart
        day_chart
            .width(1024).height(340)
            .dimension(analysis_date_dimension)
            .group(day_total)
            .brushOn(true)               
            .x(d3.time.scale().domain(d3.extent(response, function (d) { return d.analysis_date; })))
            .yAxis().tickFormat(d3.format("d"));

        //Trade Quantity Chart
        trad_qty_chart
            .width(600).height(200)
            .dimension(dimension_trade_qty)
            .group(group_trade_qty)
            .brushOn(true)
            .x(d3.scale.linear().domain([min_trade_quantity,                 max_trade_quantity + 10]))
            .yAxis().ticks()
        ;
        dc.renderAll();
    });

代码结束

我拥有的数据必须重新格式化为数字。d、 贸易数量=+d.贸易数量;刷子过滤器正在按预期工作。

您能创建一个工作示例吗?你是说JSFIDLE还是其他选择?目前还不清楚数据的结构。我怀疑你的维度不是自然排序的,但是如果没有一个工作示例和访问真实数据,很难判断这是否真的是问题所在。谢谢Ethan。我想出来了。我拥有的数据,必须重新格式化为数字。d、 贸易数量=+d.贸易数量;刷子过滤器现在正按预期工作。是的,这通常是解决自然排序问题的一个解决方案。很高兴你解决了。干杯。@user2651831您应该将其作为答案发布,这样这个问题就不会被标记为未回答。