在做專案的過程中,我要用到echarts圖形,並且要獲取點選折線點的值。之前一直都在用FusionCharts,沒有用到echarts,現在要用到得學習下,瞭解它的屬性和事件。以下是怎麼獲取折線圖中點的X軸值和Y軸值,具體步驟如下:
工具/原料
echarts相關的核心js和css
MyEclipse10
JDK1.7
Tomcat7.0.x
方法/步驟
首先,在Java Web專案中新建一個JSP頁面someChart.jsp,引入echarts核心JS
// 路徑配置
require.config({
paths: {
echarts: "<%=basePath%>/scripts/echarts/build/dist"
}
});
如下圖所示:
由於這裡要用到折線圖,需要將折線圖的JS引入
require(
[
'echarts',
'echarts/chart/line'
],
如下圖所示:
圖形要在頁面上顯示,需要一個容器,這裡在body裡定義一個div
如下圖所示:
現在,編寫形成折線圖的核心js
function (ec) {
var line = ec.init(document.getElementById('lineChart'));
var option = {
tooltip: {
show: true
},
legend: {
data:['銷量']
},
xAxis : [
{
type : 'category',
data : ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]
}
],
yAxis : [
{
type : 'value'
}
],
series : [
{
"name":"蘋果銷售量",
"type":"line",
"data":[8956, 2025, 3640, 5610, 8910, 5720, 3467, 9023, 8367, 5342, 6754, 8753]
}
]
};
line.setOption(option);
}
如下圖所示:
啟動Tomcat伺服器,在瀏覽器上執行JSP頁面,會看到一個折線圖
如下圖所示:
點選折線上的折點,會獲取到X軸和Y軸值,說明這個需要給圖一個點選事件,具體程式碼如下:
function queryXY(param)
{
var seriesIndex = param.seriesIndex;
var dataIndex = param.dataIndex;
var seriesName = param.seriesName;
var name = param.name;
var data = param.data;
var value = param.value;
console.dir(param);
}
由於在js利用console列印,可以在火狐瀏覽器上檢視相應的引數指標,具體如下圖所示:
在函式中新增alert,將引數指標列印在頁面上
var str = "seriesIndex:"+seriesIndex+"****"+"dataIndex:"+dataIndex+"****"+"seriesName:"+seriesName+"****"+
"name:"+name+"****"+"data:"+data+"****"+"value:"+value;
alert(str);
如下圖所示:
再次重新整理瀏覽器,等折線出來後,點選上面的點
如下圖所示:
注意事項
seriesIndex:系列序號,dataIndex:數值序列,seriesName:legend名稱,name:X軸值,data和value都代表Y軸值
瞭解和熟悉echarts的屬性和事件