2

我已经使用 Column 和 Line 系列创建了图表,我正在使用 chart.addSeries 动态添加系列。

问题:单击线系列图例时,线系列消失。第二次单击它时,只有绘图点可见,而线条不可见。

我收到以下 JS 异常:

行:65 字符:237 代码:0 错误消息:对象不支持属性或方法“加入” URL:http ://pfmonline.fidelitypfm.com:8098/moneycenter/js/js/rbc/highcharts.js?d =1592588911

下面是代码:

chart = new Highcharts.Chart({
        chart: {
            renderTo: 'spendingChart',
            width: spendingChart.width*0.8,
            height: spendingChart.height*0.8,
            plotBorderColor:'#000000',
            plotBorderWidth:1
        },
        xAxis: {
            categories: subCategories,
            labels: {
                rotation: 0
            }
        },
        credits: {
            enabled: false
        },
        tooltip: {
            borderColor: '#000',
            backgroundColor: '#FFF',
            borderRadius: 0,
            borderWidth: 1,
            formatter: function() {
                var s;
                s = ''+this.series.name+', '+this.x  +', $'+Highcharts.numberFormat(this.y,2,'.',',');
                return s;
            }
        },
        title: {
            text: ''
        },
        yAxis: {
            lineWidth: 1,
            title: {
                text: ''
            }
        },

        series: []
    });
    for(var i=0;i<data[index].drilldown.length;i++){
        if(data[index].drilldown[i].name == "Actual")
            chtType = "column";
        else
            chtType = "spline";
        subCategories = [];
        versionsData = [];
        var color = "";
        for (var j = 0; j < data[index].drilldown[i].data.length; j++) {
            versionsData.push(data[index].drilldown[i].data[j].y);
            subCategories.push(data[index].drilldown[i].categories[j]);
            color  = (data[index].drilldown[i].data[j].color);
        }
        chart.xAxis[0].setCategories(subCategories, false);
        chart.addSeries({type:chtType, name :data[index].drilldown[i].name, data : versionsData ,color:color},'true');
    }
4

2 回答 2

1

我有同样的问题,点击图例时线条消失并找到了解决方案,显然这是一个涉及 2.2.5 版本和 jQuery 1.8 的错误。他们已经修复了它,所以如果您升级到最新的 2.3.5,它将被修复。

参考:https ://github.com/highslide-software/highcharts.com/issues/1189和https://github.com/highslide-software/highcharts.com/issues/1181

希望有帮助

于 2013-03-19T22:19:36.450 回答
0

我希望你使用的是 IE。

由于您使用数组,因此请检查是否有任何尾随逗号

如果您的 IE 版本< 8。检查IE模式。如果您处于怪癖模式。

var test = [
["element1"],
["element2"],
["element3"],
["element4"],
["element5"],
];

删除尾随,.

或者,您可以通过记录或警告length.

console.log(test.length);

或者

alert(test.length);

您将观察到的长度将是 6 而不是 5。

于 2013-03-04T14:06:19.297 回答