- Highcharts 教程
- Highcharts - 主頁
- Highcharts - 概述
- Highcharts - 環境設定
- Highcharts - 配置語法
- Highcharts - 折線圖
- Highcharts - 面積圖
- Highcharts - 條形圖
- Highcharts - 柱狀圖
- Highcharts - 餅狀圖
- Highcharts - 散點圖
- Highcharts - 氣泡圖
- Highcharts - 動態圖表
- Highcharts - 組合圖
- Highcharts - 3D 圖表
- Highcharts - 角度計
- Highcharts - 熱力圖
- Highcharts - 樹狀圖
- Highcharts 有用資源
- Highcharts - 快速指南
- Highcharts - 有用資源
- Highcharts - 討論
Highcharts - Ajax 載入的資料圖表
在此,我們將討論 ajax 載入的資料圖表示例。首先,我們將使用 jQuery.getJSON() 方法向 Highcharts.Com 發出 ajax 呼叫以載入 csv 檔案,在檢索到資料後,我們將使用接收到的資料填充圖表並繪製圖表。
我們在 Highcharts 配置語法 章節中理解了用於繪製圖表的大部分配置。
匯入 data.js
為了使用 ajax 資料,匯入以下指令碼。
<script src = "https://code.highcharts.com/modules/data.js"></script>
配置
讓我們現在瞭解額外的配置/步驟。
xAxis
將刻度間隔配置為基於 X 軸上的周度。
var xAxis = {
tickInterval: 7 * 24 * 3600 * 1000, // one week
tickWidth: 0,
gridLineWidth: 1,
labels: {
align: 'left',
x: 3,
y: -3
}
};
yAxis
在 y 軸上配置兩個軸。
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
}
];
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
}
}
}
示例
highcharts_line_ajax.htm
<html>
<head>
<title>Highcharts Tutorial</title>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script src = "https://code.highcharts.com/highcharts.js"></script>
<script src = "https://code.highcharts.com/highcharts-more.js"></script>
<script src = "https://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>
結果
驗證結果。
highcharts_line_charts.htm
廣告