由於工作中要用到基於ECharts的大屏可視化數據展示,下方為自己先用靜態數據進行的可視化效果圖一角,逐步完善中......,后續會基於Python的Flask框架以及ajax傳輸數據,包括篩選各種條件后的數據對圖形進行異步無刷新改變。。。。。。
嘻嘻,2年沒有敲代碼了,部分代碼有進行算法練習,勿見怪哦......
效果圖一角:

代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>第一個 ECharts 實例</title>
<!-- 引入 echarts.js -->
<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
</head>
<body>
<!-- 為ECharts准備一個具備大小(寬高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基於准備好的dom,初始化echarts實例
var myChart = echarts.init(document.getElementById('main'));
var data = [
['x軸', '60px','101npx','178xpx','289ypx'],
['西南航空', 60,101,178,289],
['國泰航空', 120,180,190,303],
['東方航空', 90,92,97,103]
]
console.log("我是源數據1data=====》",data)
/***
* @注意
* @以下純屬練習處理數據(原因2年沒敲代碼了,練習下,嘻嘻)
*/
var newAarry = []
for(var i=0;i<data.length;i++){
if(i!=0){
newAarry.push(data[i][0])
}
}
console.log("我是圖例=====》",newAarry) //打印結果是 ['西南航空', '國泰航空', '東方航空']
var newData = []
console.log("我是源數據2data=====》",data)
for(var j=0;j<data.length;j++){
var news = data[j].slice(1)
//console.log("我是循環中的數據news=====》",news)
newData.push(news)
}
console.log("我是處理后的數據newData=====》",newData)
/***
* @注意
* @以下是有用數據,上方數據處理純屬練習處理數據(原因2年沒敲代碼了,練習下,嘻嘻)
*/
//循環往series里push數據
var series1 = []
var countMax = 0
for(var key in data){
console.log(data[key])
if(key!=0){
//去除第一行
series1.push(
{
name:data[key][0],//圖例
type:'line',//折線 bar 餅狀
data:data[key].splice(1)
}
)
}
countMax++;
}
console.log("我是動態的series=====》",series1)
// 指定圖表的配置項和數據
var option = {
title:{text:'我是折線圖'},
//圖例
legend: {
orient:'vertical',
x:'right',
y:'center',
itemGap:25,
},
tooltip: {},
//dataset:{ source:newData},
// 聲明一個 X 軸,類目軸(category)。默認情況下,類目軸對應到 dataset 第一列。
xAxis: {
type: 'category',
data: data[0].slice(1) //將x軸設定為對象數據第一列(去除第一個元素)
},
// 聲明一個 Y 軸,數值軸。
yAxis: {},
// 聲明多個 bar 系列,默認情況下,每個系列會自動對應到 dataset 的每一列。
series: series1
};
// 使用剛指定的配置項和數據顯示圖表。
myChart.setOption(option);
</script>
</body>
</html>
當然了,工作中的數據比這個復雜多了,這只是第一步已經完成了,going......
