|  | 
 | <!-- | 
 | 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"> | 
 |         <script src="lib/simpleRequire.js"></script> | 
 |         <script src="lib/config.js"></script> | 
 |         <meta name="viewport" content="width=device-width, initial-scale=1" /> | 
 |     </head> | 
 |     <body> | 
 |         <style> | 
 |             html, body, #main { | 
 |                 width: 100%; | 
 |                 height: 100%; | 
 |                 margin: 0; | 
 |             } | 
 |         </style> | 
 |         <div id="timing"></div> | 
 |         <script> | 
 |  | 
 |             require([ | 
 |                 'echarts' | 
 |             ], function (echarts) { | 
 |                 var myChart; | 
 |                 var lineCount = 20; | 
 |                 var pointCount = 10000; | 
 |                 var chartCount = 20; | 
 |  | 
 |                 var option = { | 
 |                     tooltip : { | 
 |                         trigger: 'axis', | 
 |                         axisPointer: { | 
 |                             animation: false | 
 |                         } | 
 |                     }, | 
 |                     legend: { | 
 |                         data:[] | 
 |                     }, | 
 |                     dataZoom: [{ | 
 |                         show: true, | 
 |                         realtime: true, | 
 |                         // showDataShadow: false, | 
 |                         start: 10, | 
 |                         end: 60 | 
 |                     }], | 
 |                     xAxis : [ | 
 |                         { | 
 |                             type : 'time' | 
 |                         } | 
 |                     ], | 
 |                     yAxis : [ | 
 |                         { | 
 |                             type : 'value' | 
 |                         } | 
 |                     ], | 
 |                     series: [], | 
 |                     animation: false | 
 |                 }; | 
 |  | 
 |                 var lineStyle = { | 
 |                     normal: { | 
 |                         width: 2, | 
 |                         opacity: 1 | 
 |                     } | 
 |                 }; | 
 |  | 
 |                 var date = new Float64Array(pointCount) | 
 |                 var oneDay = 24 * 3600 * 1000; | 
 |                 var base = +new Date(1987, 9, 3); | 
 |                 for (var j = 0; j < pointCount; j++) { | 
 |                     date[j] = base += oneDay; | 
 |                 } | 
 |                 for (var i = 0; i < lineCount; i++) { | 
 |                     var y = Math.random() * 1000; | 
 |                     var values = new Float64Array(pointCount * 2); | 
 |                     var off = 0; | 
 |                     for (var j = 0; j < pointCount; j++) { | 
 |                         y += Math.round(10 + Math.random() * (-10 - 10)); | 
 |                         values[off++] = date[j]; | 
 |                         values[off++] = y; | 
 |                     } | 
 |  | 
 |                   option.legend.data.push( 'line' + i ); | 
 |                   option.series.push({ | 
 |                     name: 'line' + i, | 
 |                     type: 'line', | 
 |                     hoverAnimation: false, | 
 |                     showSymbol: false, | 
 |                     dimensions: ['date', 'value'], | 
 |                     encode: { | 
 |                         x: 'date', | 
 |                         y: 'value' | 
 |                     }, | 
 |                     data: values, | 
 |                     lineStyle: lineStyle | 
 |                   }); | 
 |                 } | 
 |  | 
 |                 function refresh(isBtnRefresh){ | 
 |                     var start = new Date(); | 
 |                     console.profile('render'); | 
 |                     for( var n = 0; n < chartCount; n++ ) { | 
 |                         var el = document.createElement('div'); | 
 |                       el.innerHTML = '<h1>'+n+'</h1><div id="chart'+n+'" style="width: 860px; height: 320px"></div>'; | 
 |                       document.body.appendChild(el); | 
 |  | 
 |                       myChart = echarts.init(document.getElementById('chart'+n)); | 
 |                       myChart.setOption(option, true); | 
 |                     } | 
 |                     console.profileEnd('render'); | 
 |                     setTimeout(function () { | 
 |                         var end = new Date(); | 
 |                         document.getElementById('timing').innerHTML = 'Graphs loaded in ' + ( end - start ) + ' ms.'; | 
 |                     }); | 
 |                 }; | 
 |  | 
 |                 refresh(); | 
 |             }); | 
 |         </script> | 
 |     </body> | 
 | </html> |