222 lines
7.4 KiB
HTML
Generated
222 lines
7.4 KiB
HTML
Generated
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<script src="lib/frameInsight.js"></script>
|
|
<script src="lib/simpleRequire.js"></script>
|
|
<script src="lib/config.js"></script>
|
|
<script src="lib/jquery.min.js"></script>
|
|
<script src="lib/testHelper.js"></script>
|
|
<script src="lib/facePrint.js"></script>
|
|
</head>
|
|
<body>
|
|
<style>
|
|
html, body, #main {
|
|
width: 100%;
|
|
height: 100%;
|
|
margin: 0;
|
|
}
|
|
|
|
#snapshot {
|
|
position: fixed;
|
|
right: 10;
|
|
top: 10;
|
|
width: 200;
|
|
height: 200;
|
|
background: #fff;
|
|
border: 5px solid rgba(0,0,0,0.5);
|
|
}
|
|
|
|
</style>
|
|
|
|
|
|
<div id="main"></div>
|
|
<div id="duration"></div>
|
|
<img id="snapshot"/>
|
|
|
|
<script>
|
|
|
|
var chunkMax = 4;
|
|
var chunkCount = 0;
|
|
|
|
function genData1(len, offset) {
|
|
var lngRange = [-10.781327, 131.48];
|
|
var latRange = [18.252847, 52.33];
|
|
|
|
var arr = new Float32Array(len * 2);
|
|
var off = 0;
|
|
|
|
for (var i = 0; i < len; i++) {
|
|
var x = +Math.random() * 10;
|
|
var y = +Math.sin(x) - x * (len % 2 ? 0.1 : -0.1) * Math.random() + (offset || 0) / 10;
|
|
arr[off++] = x;
|
|
arr[off++] = y;
|
|
}
|
|
return arr;
|
|
}
|
|
|
|
function genData2(count) {
|
|
var lngRange = [-10.781327, 31.48];
|
|
var latRange = [-18.252847, 30.33];
|
|
return genData(count, lngRange, latRange);
|
|
}
|
|
|
|
function genData(count, lngRange, latRange) {
|
|
lngRange[1] += 5;
|
|
lngRange[0] -= 10;
|
|
latRange[1] += 4;
|
|
var lngExtent = lngRange[1] - lngRange[0];
|
|
var latExtent = latRange[1] - latRange[0];
|
|
var data = [];
|
|
for (var i = 0; i < count; i++) {
|
|
data.push([
|
|
Math.random() * lngExtent + lngRange[0],
|
|
Math.random() * latExtent + latRange[0],
|
|
Math.random() * 1000
|
|
]);
|
|
}
|
|
return data;
|
|
}
|
|
|
|
var series0Data = genData1(5e5);
|
|
|
|
require([
|
|
'echarts'
|
|
], function (echarts) {
|
|
|
|
frameInsight.init(echarts, 'duration');
|
|
|
|
var chart = echarts.init(document.getElementById('main'));
|
|
|
|
chart.setOption({
|
|
tooltip: {},
|
|
toolbox: {
|
|
left: 'center',
|
|
feature: {
|
|
dataZoom: {}
|
|
}
|
|
},
|
|
legend: {
|
|
orient: 'vertical',
|
|
left: 'left',
|
|
data: ['pm2.5' /* ,'pm10' */]
|
|
},
|
|
// ???
|
|
// visualMap: {
|
|
// min: 0,
|
|
// max: 1500,
|
|
// left: 'left',
|
|
// top: 'bottom',
|
|
// text: ['High','Low'],
|
|
// seriesIndex: [1, 2, 3],
|
|
// inRange: {
|
|
// color: ['#006edd', '#e0ffff']
|
|
// },
|
|
// calculable : true
|
|
// },
|
|
xAxis: [{
|
|
}],
|
|
yAxis: [{
|
|
}],
|
|
dataZoom: [{
|
|
type: 'inside'
|
|
}, {
|
|
type: 'slider',
|
|
showDataShadow: false
|
|
}],
|
|
animation: false,
|
|
series : [{
|
|
name: 'pm2.5',
|
|
type: 'scatter',
|
|
data: series0Data,
|
|
dimensions: ['x', 'y'],
|
|
// symbol: 'rect',
|
|
symbolSize: 3,
|
|
// symbol: 'rect',
|
|
itemStyle: {
|
|
color: '#128de3',
|
|
opacity: 0.4
|
|
},
|
|
large: true,
|
|
// large: {
|
|
// symbolSize: 2
|
|
// },
|
|
// large: function (params) {
|
|
// if (params.dataCount > 30000) {
|
|
// return {symbolSize: 1};
|
|
// }
|
|
// else if (params.dataCount > 3000) {
|
|
// return {symbolSize: 5};
|
|
// }
|
|
// },
|
|
largeThreshold: 500,
|
|
progressive: 500
|
|
// progressive: false
|
|
// }, {
|
|
// name: 'pm10',
|
|
// type: 'scatter',
|
|
// data: genData2(2001),
|
|
// xAxisIndex: 0,
|
|
// yAxisIndex: 0,
|
|
// symbolSize: 2,
|
|
// // symbol: 'rect',
|
|
// itemStyle: {
|
|
// normal: {
|
|
// borderWidth: 0.5,
|
|
// borderColor: '#e01',
|
|
// color: '#128de3'
|
|
// }
|
|
// },
|
|
// progressive: 3000
|
|
}]
|
|
});
|
|
|
|
chart.on('click', function (param) {
|
|
alert('asdf');
|
|
});
|
|
|
|
chart.on('finished', function () {
|
|
var url = chart.getDataURL();
|
|
var snapshotEl = document.getElementById('snapshot');
|
|
snapshotEl.src = url;
|
|
});
|
|
|
|
window.onresize = chart.resize;
|
|
|
|
// next();
|
|
|
|
function next() {
|
|
if (chunkCount++ < chunkMax) {
|
|
var newData = genData1(100000, chunkCount);
|
|
chart.appendData({seriesIndex: 0, data: newData});
|
|
// console.log('Data loaded');
|
|
setTimeout(next, 3000);
|
|
}
|
|
}
|
|
|
|
});
|
|
|
|
|
|
</script>
|
|
</body>
|
|
</html> |