我有几个图表根据数组数据添加了ids,然后根据其id将它们呈现到特定图表。正在添加ID,但新图表数据未更新。我的代码出了什么问题?
$('.bars').each(function(){
bars = new Highcharts.Chart({
chart: {type:'bar',renderTo:this,backgroundColor:'#222',plotBorderWidth:0,plotBackgroundColor:{linearGradient:{ x1:0, y1:0, x2:0, y2:1 },stops: [[0.40, "#383838"],[1, "#000"],[0.50, "#383838"]]},plotBorderColor:'#a6a0a0',height:70},
title: {align:'left',margin:5,style: {color:'#FFFFFF',fontSize:'10px',"text-transform":"uppercase"}},legend: {enabled:false},credits: {enabled:false},tooltip:{enabled:false},
loading:{labelStyle:{fontWeight:'bold',color:'#FF0000',top:'10%'},style:{backgroundColor:'#222'},hideDuration:1000},
xAxis: {labels: {enabled:false},tickWidth:0,tickInterval:0,gridLineWidth:0},
yAxis: {labels: {enabled:false},title: {text:null},min:0,max:100,tickWidth:0,gridLineWidth:0},
series: [{data:[5]}]
});
});
function test(){
while(bars.series.length){
bars.series[0].remove();
}
var idS = [50,60,40,80],
horiz = document.getElementById('horizBarGauage'),
idSL = 4,
j;
for (j=idSL;j--;){
console.log('Logging', idS[j]);
horiz.children[j].id = idS[j];
console.log('Logging', horiz.children[j].id);
var idData = idS[j];
bars.renderTo = idData;
bars.addSeries({data:[idData]});
bars.redraw();
}
}
test();
答案 0 :(得分:1)
每次创建图表时,bars
都会重置为该新图表。因此,在test()
引用bars
时,它会使用最近创建的图表。
在test()
中,您需要找到要编辑的实际图表:
var chart = $("#" + idS[j]).highcharts();
chart.addSeries({data: [idData] });