HighCharts:线条系列在点击图例时消失

时间:2013-03-04 08:06:41

标签: highcharts

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

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

我正在关注JS异常:

线:65 性格:237 代码:0 错误消息:对象不支持属性或方法'join' 网址: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');
    }

2 个答案:

答案 0 :(得分:1)

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

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

希望有所帮助

答案 1 :(得分:0)

我希望你使用的是IE。

由于您使用的是阵列,请检查是否有任何尾随的逗号

如果您的IE版本&lt; 8 即可。检查IE模式。如果你在怪癖模式。

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

删除尾随的 ,

或者,您可以通过记录或警告 length 来查看。

console.log(test.length);

alert(test.length);

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