请问在HighChart中 要如何动态产生series??
因为不知道会有几条数据组产生,所以必须用动态方式产生
代码中会先执行
createChart();
refreshChart(xx,xx,xx,xx,....);
谢谢
function refreshChart(chart, area, entity, eqpid, sday, eday) {
var series = new Array();
$.ajax({
type: "POST",
url: "Uptime_ChartByID.aspx/refreshChartID",
data: "{'area':'" + area + "'}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data.d.length > 0) {
var tmpDay = data.d[0].toString().replace('[', '').replace(']', '').replace(/(['"])/g, "").split(",");
var title = {
text: 'Trend Chart'
}
var subtitle = {
text: $('#txtFrom').val() + ' ~ ' + $('#txtTo').val()
};
chart.setTitle(title, subtitle); //subtitle
chart.xAxis[0].setCategories(tmpDay); //X轴资料
for (var i = 1; i < data.d.length; i++) {
var tmpData = data.d[i].toString().replace('[', '').replace(']', '').replace(/(['"])/g, "").split(",");
series.push({ "name": i, "data": tmpData });
}
chart.series = series; //这是我动态产生的series,但要怎麽回传??
chart.redraw();
}
$('#loading').hide();
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
}
function createChart() {
var chart1 = new Highcharts.Chart({
chart: {
renderTo: 'chart1',
zoomType: 'xy'
},
title: {
text: ''
},
subtitle: {
text: '' //subtitile
},
xAxis: {
tickmarkPlacement: 'on',
title: {
enabled: true
},
labels: {
rotation: -45,
style: {
color: 'black', fontSize: '12px', fontFamily: 'Arial Black'
}
},
categories: [],
},
yAxis: [{ //设置Y轴-第1个(增幅)
labels: {
formatter: function () { //格式化标签名称
return this.value;
},
style: {
color: '#4572A7', //设置标签颜色
fontSize: '12px', fontFamily: 'Arial Black'
},
enabled: true //隐藏Y轴刻度显示
},
title: {
text: '%', style: {
fontSize: '12px', fontFamily: 'Arial Black'
},
}, //Y轴标题设为空
tickPositions: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100], //Y轴刻度限定
}, ],
tooltip: { //鼠标滑向数据区显示的提示框
crosshairs: true,
shared: true,
},
legend: { //设置图例
layout: 'horizontal', //水平排列图例
align: 'center',
shadow: true, //设置阴影
},
series: [], //这边要如何接收series????
credits: {
enabled: false
}
});
}