图表异步加载数据
以下实例演示了异步加载数据曲线图表。这边我们通过 jQuery.getJSON() 方法从异步加载 csv 文件:
我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看个完整实例:
导入 data.js 文件
异步加载数据需要引入以下js 文件:
<script src="http://code.highcharts.com/modules/data.js"></script>
w^3^x^u^e.com提供本在线速查手册,请勿盗用!
配置
X 轴
以每周为间隔设置 X 轴:
var xAxis = {
tickInterval: 7 * 24 * 3600 * 1000, // 一周
tickWidth: 0,
gridLineWidth: 1,
labels: {
align: ''left'',
x: 3,
y: -3
}
};
w^3^x^u^e.com提供本在线速查手册,请勿盗用!
Y 轴
以每周为间隔设置 Y 轴:
配置两个 Y 轴:
var yAxis = [{ // 左边 Y 轴
title: {
text: null
},
labels: {
align: ''left'',
x: 3,
y: 16,
format: ''{value:.,0f}''
},
showFirstLabel: false
},{ // 右边 Y 轴
linkedTo: 0,
gridLineWidth: 0,
opposite: true,
title: {
text: null
},
labels: {
align: ''right'',
x: -3,
y: 16,
format: ''{value:.,0f}''
},
showFirstLabel: false
}
];
w^3^x^u^e.com提供本在线速查手册,请勿盗用!
plotOptions
plotOptions用于设置图表中的数据点相关属性。
var plotOptions = {
series: {
cursor: ''pointer'',
point: {
events: {
click: function (e) {
hs.htmlExpand(null, {
pageOrigin: {
x: e.pageX || e.clientX,
y: e.pageY || e.clientY
},
headingText: this.series.name,
maincontentText: Highcharts.dateFormat(''%A, %b %e, %Y'', this.x)
+ '':<br/> '' + this.y + '' visits'',
width: 200
});
}
}
},
marker: {
lineWidth: 1
}
}
}
w^3^x^u^e.com提供本在线速查手册,请勿盗用!
实例
文件名:highcharts_line_ajax.html
<html>
<head>
<title>Highcharts 教程 | W3xue教程(w3xue.com)</title>
<script src="/js/jquery-2.1.4.min.js"></script>
<script src="/js/hc/highcharts5.0.6.js"></script>
<script src="http://code.highcharts.com/modules/data.js"></script>
</head>
<body>
<div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
<script language="JavaScript">
$(document).ready(function() {
var title = {
text: ''Daily visits at www.highcharts.com''
};
var subtitle = {
text: ''Source: Google Analytics''
};
var xAxis = {
tickInterval: 7 * 24 * 3600 * 1000, // one week
tickWidth: 0,
gridLineWidth: 1,
labels: {
align: ''left'',
x: 3,
y: -3
}
};
var yAxis = [{ // left y axis
title: {
text: null
},
labels: {
align: ''left'',
x: 3,
y: 16,
format: ''{value:.,0f}''
},
showFirstLabel: false
},{ // right y axis
linkedTo: 0,
gridLineWidth: 0,
opposite: true,
title: {
text: null
},
labels: {
align: ''right'',
x: -3,
y: 16,
format: ''{value:.,0f}''
},
showFirstLabel: false
}
];
var tooltip = {
shared: true,
crosshairs: true
}
var legend = {
align: ''left'',
verticalAlign: ''top'',
y: 20,
floating: true,
borderWidth: 0
};
var plotOptions = {
series: {
cursor: ''pointer'',
point: {
events: {
click: function (e) {
hs.htmlExpand(null, {
pageOrigin: {
x: e.pageX || e.clientX,
y: e.pageY || e.clientY
},
headingText: this.series.name,
maincontentText: Highcharts.dateFormat(''%A, %b %e, %Y'', this.x)
+ '':<br/> '' + this.y + '' visits'',
width: 200
});
}
}
},
marker: {
lineWidth: 1
}
}
}
var series = [{
name: ''All visits'',
lineWidth: 4,
marker: {
radius: 4
}
}, {
name: ''New visitors''
}]
var json = {};
json.title = title;
json.subtitle = subtitle;
json.xAxis = xAxis;
json.yAxis = yAxis;
json.tooltip = tooltip;
json.legend = legend;
json.series = series;
json.plotOptions = plotOptions;
$.getJSON(''http://www.highcharts.com/samples/data/jsonp.php?filename=analytics.csv&callback=?'', function (csv) {
var data = {
csv: csv
};
json.data = data;
$(''#container'').highcharts(json);
});
});
</script>
</body>
</html>
w^3^x^u^e.com提供本在线速查手册,请勿盗用!
以上实例输出结果为:
Highcharts 曲线图
本节优化或纠错