本文介绍了Highchart动态创建 - 无法正确呈现的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在用动态函数绘制一幅高画图,它在调用函数之后根本不会渲染。后来如果我调整窗口大小,它会渲染数据?任何具体原因呢?
i am making a highchart drawing using dynamic function, it is not at all rending after the function called. later if i resize the window, it get rendering the data? any specific reason for this?
我的功能:
my function:
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。
Pls check my jsfiddle.
http://jsfiddle.net/w46Sr/
推荐答案
您需要添加chart.redraw();
You need to add chart.redraw();
function createChart(){
s1 = chart.addSeries({data:randomData(20),name:'Line'+i},false);
chart.redraw();
}
这篇关于Highchart动态创建 - 无法正确呈现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!