我使用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');
}
答案 0 :(得分: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
希望有所帮助
答案 1 :(得分:0)
我希望你使用的是IE。
由于您使用的是阵列,请检查是否有任何尾随的逗号。
如果您的IE版本&lt; 8 即可。检查IE模式。如果你在怪癖模式。
var test = [
["element1"],
["element2"],
["element3"],
["element4"],
["element5"],
];
删除尾随的 ,
。
或者,您可以通过记录或警告 length
来查看。
console.log(test.length);
或
alert(test.length);
您将观察到的长度为6而不是5.