我正在使用动态函数制作高清图,它在调用函数后根本没有渲染.以后如果我调整窗口大小,它会渲染数据吗?有什么具体的原因吗?
我的功能:
var chart; $(document).ready(function(){ function randomData(len){ var arr = []; for(var i = 0; i<len;i++){ arr.push(Math.random()) } return arr; } var options = { chart:{ renderTo:'graph',type:'line' },title:{ text:null },xAxis: { plotBands: [{ from: 5,to: 6,color: 'yellow',label: { text: 'Yellow' } },{ from: 10,to: 11,color: 'green',label: { text: 'Green' } }] },plotOptions:{ series:{ animation:false,dataLabels:{enabled:true,formatter:function(){return Highcharts.numberFormat(this.y)}} } } } chart = new Highcharts.Chart(options); var i = 1,s1,s2,s3,s4; function createChart(){ s1 = chart.addSeries({data:randomData(20),name:'Line'+i},false); } $('#create').click(function(){ createChart() }); })
请检查我的jsfiddle.
解决方法
你需要添加chart.redraw();
function createChart(){ s1 = chart.addSeries({data:randomData(20),false); chart.redraw(); }