标签:
动态创建Series
代码如下: <html> <head> <title>Highcharts Example</title> <script language="javascript" type="text/javascript" src="js/jquery.min.js"></script> <script language="javascript" type="text/javascript" src="js/highcharts.js"></script> <script language="javascript" type="text/javascript" src="js/exporting.js"></script> <script type="text/javascript"> var chart; $(document).ready(function() { var options = { chart: { renderTo: ‘container‘, type: ‘line‘, marginRight: 130, marginBottom: 25 }, title: { text: ‘每天的分布情况‘, x: -20 //center }, xAxis: { categories: [‘0‘, ‘1‘, ‘2‘, ‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘] }, yAxis: { title: { text: ‘Y轴‘ }, plotLines: [{ value: 0, width: 1, color: ‘#808080‘ }] }, tooltip: { formatter: function() { return ‘<b>‘+ this.series.name +‘</b><br/>‘ + this.x +‘: ‘+ this.y ; } }, legend: { layout: ‘vertical‘, align: ‘right‘, verticalAlign: ‘top‘, x: -10, y: 100, borderWidth: 0 }, series: [] } options.series = new Array(); var i; for(i=0;i<10;i++) { options.series[i] = new Object(); options.series[i].name = ‘Sample‘+i; options.series[i].data = new Array(0+i, 1+i, 2+i, 3+i,4+i,5+i,6+i,7+i,8+i,9+i); } chart = new Highcharts.Chart(options); }); </script> </head> <body> <div id="container" style="width: 800px;height: 400px"></div> </body> </html>
(1)首先、无论是highcharts还是highstock,chart.options.series表示的是图形的主要显示部分,个数是多少就有几条线,(饼图除外,跟这个不一样),所以如果要对series进行操作的话,可以通过chart.options.series的操作来完成。
(2)另外对series的操作也可以通过chart.series来完成。如果是highcharts的话操作跟上面一样,如果是highstock的话,需要注意,chart.series可能会包含图形下面navigator的图形,也就是chart.series的个数比chart.options.series的个数多1,这时对chart.series操作需要把navigator考虑进去,以免发生错误。
如果highstock画柱形图的话,跟(1)一样操作就可以,如果是line或者其他图形的时候,chart.series个数比chart.options.series多1
例如:chart.series[i].name = chart.opions.series[i].name//如果后面这个设置name属性
chart.series[i].data = chart.options.series[i].data
如果是饼图的话:使用chart.options.series[0].data来获取饼图各部分的信息,或者chart.series[0].points来获取饼图各部分的信息
Hightcharts动态创建series,采用options预定义方式
标签:
原文地址:http://www.cnblogs.com/coolsundy/p/4226997.html