【问题标题】:Issue on dc.js when update/redraw linechart更新/重绘折线图时 dc.js 上的问题
【发布时间】:2015-02-26 00:27:36
【问题描述】:

我对 javascript 和 dc.js 非常陌生。单击按钮后,我尝试删除和更新折线图中的新数据。但是,当重新绘制折线图时,我遇到了一些问题。一些区域出现并与图形区域重叠。这是重绘前后折线图的图片 谁能帮我解决这个问题?我真的很感激每一个答案。

谢谢!

这是我的代码

   **Just sample code, I have 5000 objects in my array**
    var data2 = [{"year": 2010,"total": 1}, 
                {"year": 2010,"total": 1},
                {"year": 2000, "total":1},
                {"year": 2000, "total":1},
                {"year": 1950, "total":1},                    
                {"year": 1950, "total":1},
                {"year": 1987, "total":1},
                {"year": 1987, "total":1},                    
                {"year": 2000, "total": 1}];
     var dataCrossfilter = crossfilter(data2);
       var yearDimension = dataCrossfilter.dimension(function (d) {
           return d.year;
           });
       var yearGroup = yearDimension.group().reduceSum(function (d) {
           return d.total;
           });     

       var yChart = dc.lineChart("#yChart");

        yChart.width(960)
        .height(300)
        .margins({top: 10, right: 10, bottom: 20, left: 40})
        .x(d3.scale.linear().domain([1800,2020]))
        .dimension(yearDimension)
        .group(yearGroup)
        .renderArea(true)           
        .brushOn(true)
        .transitionDuration(1500)
        .elasticY(true)
        .elasticX(true)
        .xAxis();

    dc.renderAll();

//// 加载按钮

var load_button = function(data) {
            return function load_it() {
                    dataCrossfilter.remove();
                    dataCrossfilter.add(data);
                    dc.redrawAll();
            }
        }

    button1 = load_button(data1);
    button2 = load_button(data2);

非常感谢!我真的很感激每一个答案。

【问题讨论】:

  • 我相信你,但我似乎无法用这么少的数据重现这一点。这是我对您提供的内容的小提琴,还有另一个相同大小的虚拟数据集:jsfiddle.net/gordonwoodhull/becxo0fv/5 - 也许您可以添加它以使其中断?
  • 您是否尝试使用yChart.resetSvg(); 清除图表并完全重绘?

标签: javascript d3.js linechart dc.js crossfilter


【解决方案1】:

您必须按日期对数据进行排序。 AMCharts 也有同样的毛病。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多