【问题标题】:Highcharts add&remove data to series in stacked-column chartHighcharts 在堆积柱形图中向系列添加和删除数据
【发布时间】:2013-03-26 17:43:34
【问题描述】:

我正在尝试通过从 highcharts 堆叠/柱形图中添加/删除数据和类别来编辑堆叠柱形图。但是图表上的类别名称/值/计数不一致。

我的添加函数 /param:data/:

    //setting category names
    var categories = this.obj.xAxis[0].categories;
    categories.push(data.name);
    this.obj.xAxis[0].setCategories(categories);
    //adding new points getting the series by name
    this.obj.get("a").addPoint(data);
    this.obj.redraw();

我的删除函数/param:name/:

    var self = this;
    var cat;
    var data_series = [];
    $.each(self.obj.series, function(sKey, sVal){
        var j = sVal.data.length - 1;
        var isRemoved = false;
        var dt;
        while(!isRemoved && j >= 0) {
            var dVal = sVal.data[j];
            if (dVal.category === name) {
                dVal.remove();
                isRemoved = true;
            }
            j--;
        }
    });

    var categories = self.obj.xAxis[0].categories;
    categories.splice( $.inArray(name, categories), 1 );
    self.obj.xAxis[0].setCategories(categories);
    self.obj.redraw();

结果是这样的:我可以正确添加新的类别/点、堆栈和列。我可以正确删除最新的类别,它会向左移动并且渲染得很好。但是当我从类别 [A,B,C,D] 中删除类别 A 时,结果将呈现为 [C,D,3]。但是,它应该是 [B,C,D]。每当我在此之后添加任何新类别时,它都会增加最后一个数字而不是我给出的字符串。

我想知道上面的代码有什么问题,以及在堆积柱形图中添加/删除类别、点、数据的正确方法是什么。

你可以在这里试用:http://jsfiddle.net/gencay/UP55k/

【问题讨论】:

    标签: javascript jquery charts highcharts


    【解决方案1】:

    问题是 x 轴的值是递增的,但从不递减。例如,当 add point -> index for last point 增加时。但是,只要删除点(不仅是最后一个!),该索引就不会减少。

    一般来说,您必须对series.xIncrement 进行一些操作,或者(最好)在每个点上添加x 属性。

    jsFiddle with series.xIncrement:http://jsfiddle.net/UP55k/23/(仅在选中/取消选中相同值时有效 - 仅显示一般想法)

    【讨论】:

    • 现在我尝试修改删除后点的所有x 属性(您的第二个建议)。 jsfiddle.net/gencay/UP55k/38 正如您将看到的,x 属性似乎已为每个 series.data 正确设置,但图表和对象值之间仍然存在不便(xxIncrementcategories)。 ://
    • 我的意思是这样的:jsfiddle.net/UP55k/39 现在删除点后使用point.update({x: value}) 更新每个点以设置正确的类别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多