| <!DOCTYPE html> | |
| <!-- | |
| 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> | |
| <script src="lib/jquery.min.js"></script> | |
| <script src="lib/facePrint.js"></script> | |
| <script src="lib/testHelper.js"></script> | |
| <script src="lib/draggable.js"></script> | |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> | |
| <link rel="stylesheet" href="lib/reset.css"> | |
| </head> | |
| <body> | |
| <style> | |
| h1 { | |
| line-height: 60px; | |
| height: 60px; | |
| background: #a60; | |
| text-align: center; | |
| font-weight: bold; | |
| color: #eee; | |
| font-size: 14px; | |
| } | |
| .chart { | |
| height: 500px; | |
| } | |
| </style> | |
| <div class="chart" id="mainA"></div> | |
| <div class="chart" id="main0"></div> | |
| <div class="chart" id="main1"></div> | |
| <h1>[ Test time axis interval ] should not overlap when data zoom.</h1> | |
| <div class="chart" id="main2"></div> | |
| <h1>Test xAxis.axisTick.interval</h1> | |
| <div class="chart" id="main30"></div> | |
| <div class="chart" id="main31"></div> | |
| <div class="chart" id="main32"></div> | |
| <div class="chart" id="main33"></div> | |
| <div class="chart" id="main34"></div> | |
| <div class="chart" id="main35"></div> | |
| <div style="height: 600px;"> | |
| <div class="chart" id="main4"></div> | |
| </div> | |
| <div class="chart" id="main5"></div> | |
| <script> | |
| require([ | |
| 'echarts' | |
| ], function (echarts) { | |
| var dataCount = 200; | |
| var data = []; | |
| var d = +new Date(2015, 3, 13); | |
| var oneDay = 3600 * 1000; | |
| for (var i = 0; i < dataCount; i++) { | |
| data.push([d, Math.random()]); | |
| d += 2.5 * oneDay; | |
| } | |
| var startValue = '2015-04-24T04:21'; | |
| var endValue = '2015-04-24T10:12'; | |
| var option = { | |
| tooltip: { | |
| trigger: 'axis' | |
| }, | |
| dataZoom: [{ | |
| startValue: startValue, | |
| endValue: endValue | |
| }, { | |
| type: 'inside', | |
| startValue: startValue, | |
| endValue: endValue | |
| }], | |
| grid: { | |
| left: '3%', | |
| right: '4%', | |
| bottom: 60, | |
| containLabel: true | |
| }, | |
| xAxis: { | |
| type: 'time', | |
| minInterval: 3600 * 1000, | |
| maxInterval: 3600 * 1000 | |
| // splitNumber: 7 | |
| }, | |
| yAxis: {}, | |
| series: [ | |
| { | |
| type: 'line', | |
| data: data | |
| } | |
| ] | |
| }; | |
| testHelper.create(echarts, 'mainA', { | |
| title: 'xAxis (type: time) should always be 1 hour interval', | |
| option: option | |
| }); | |
| }); | |
| </script> | |
| <script> | |
| require([ | |
| 'echarts' | |
| ], function (echarts) { | |
| option = { | |
| tooltip: { | |
| trigger: 'axis' | |
| }, | |
| grid: { | |
| left: '3%', | |
| right: '4%', | |
| bottom: '3%', | |
| containLabel: true | |
| }, | |
| xAxis: [ | |
| { | |
| type: 'category', | |
| boundaryGap: false, | |
| data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] | |
| } | |
| ], | |
| yAxis: [ | |
| { | |
| type: 'value', | |
| scale: true, | |
| min: 0, | |
| minInterval: 1 | |
| } | |
| ], | |
| series: [ | |
| { | |
| type: 'line', | |
| data: [1] | |
| } | |
| ] | |
| }; | |
| testHelper.create(echarts, 'main0', { | |
| title: '[ Test minInterval ] yAxis: {minInterval: 1, min: 0}, series.data: [1]', | |
| option: option | |
| }); | |
| }); | |
| </script> | |
| <script> | |
| require([ | |
| 'echarts' | |
| ], function (echarts) { | |
| var categoryData = []; | |
| var data = []; | |
| var rotate = 0; | |
| for (var i = 0; i < 100; i++) { | |
| categoryData.push(i + 'longlonglong'); | |
| data.push(Math.random() * 1000000); | |
| } | |
| option = { | |
| title: { | |
| }, | |
| tooltip: { | |
| trigger: 'axis' | |
| }, | |
| grid: [{ | |
| height: 50 | |
| }, { | |
| top: 220, | |
| height: 300 | |
| }], | |
| xAxis: [{ | |
| id: 'category', | |
| type: 'category', | |
| boundaryGap: false, | |
| data: categoryData, | |
| axisLabel: { | |
| rotate: rotate | |
| } | |
| }, { | |
| gridIndex: 1 | |
| }], | |
| yAxis: [{ | |
| }, { | |
| id: 'category', | |
| type: 'category', | |
| boundaryGap: false, | |
| data: categoryData, | |
| gridIndex: 1, | |
| axisLabel: { | |
| rotate: rotate | |
| } | |
| }], | |
| series: [ | |
| { | |
| type: 'line', | |
| data: data | |
| }, | |
| { | |
| type: 'line', | |
| xAxisIndex: 1, | |
| yAxisIndex: 1, | |
| data: data | |
| } | |
| ] | |
| }; | |
| var chart = testHelper.create(echarts, 'main1', { | |
| title: '[ Test category axis interval ] interval of xAxis should be approperiate after rotated.', | |
| option: option, | |
| height: 600, | |
| buttons: [{ | |
| text: 'Rotate', | |
| onclick: function () { | |
| rotate = (rotate + 30) % 360; | |
| chart.setOption({ | |
| xAxis: { | |
| id: 'category', | |
| axisLabel: { | |
| rotate: rotate | |
| } | |
| }, | |
| yAxis: { | |
| id: 'category', | |
| axisLabel: { | |
| rotate: rotate | |
| } | |
| } | |
| }); | |
| } | |
| }] | |
| }); | |
| }); | |
| </script> | |
| <script> | |
| require([ | |
| 'data/rainfall.json.js', | |
| 'echarts' | |
| ], function (rainfallData, echarts) { | |
| var option = { | |
| tooltip: { | |
| trigger: 'axis' | |
| }, | |
| grid: { | |
| bottom: 150 | |
| }, | |
| dataZoom: { | |
| show: true, | |
| realtime: true, | |
| startValue: '2009-09-20 12:00', | |
| end: 100 | |
| }, | |
| xAxis: [ | |
| { | |
| type: 'time', | |
| axisLabel: { | |
| formatter: function (value) { | |
| return echarts.format.formatTime('yyyy-MM-dd hh:mm:ss', value); | |
| } | |
| } | |
| } | |
| ], | |
| yAxis: [ | |
| { | |
| name: '流量(m^3/s)' | |
| } | |
| ], | |
| series: [ | |
| { | |
| name: '流量', | |
| type: 'line', | |
| symbol: 'none', | |
| itemStyle: {normal: {areaStyle: {type: 'default'}}}, | |
| data: rainfallData.flow.map(function (val, idx) { | |
| return [+(new Date(rainfallData.category[idx])), val]; | |
| }) | |
| } | |
| ] | |
| }; | |
| testHelper.createChart(echarts, 'main2', option); | |
| }) | |
| </script> | |
| <script> | |
| require([ | |
| 'echarts' | |
| ], function (echarts) { | |
| var testArr = [ | |
| [true, false, true, true], | |
| [true, false, true, false], | |
| [false, true, true, false], | |
| [false, true, false, true], | |
| [false, false, true, true], | |
| [true, true, false, false] | |
| ]; | |
| function print(index) { | |
| return `intervalList:\n[${testArr[index].toString()}] \n\n currentIndex: ${index}` | |
| } | |
| function makeOption(dataIndex) { | |
| var option = { | |
| title: { | |
| text: print(dataIndex), | |
| textStyle: { | |
| fontSize: 12 | |
| } | |
| }, | |
| grid: { | |
| top: 10, | |
| right: 50, | |
| left: 160, | |
| bottom: 30 | |
| }, | |
| xAxis: { | |
| type: 'category', | |
| data: ['Mon', 'Tue', 'Wed', 'Thu'], | |
| axisTick: { | |
| show: true, | |
| interval: function (index) { | |
| // return index && !!x2Data[index] | |
| return testArr[dataIndex][index] | |
| }, | |
| length: 30, | |
| alignWithLabel: false | |
| }, | |
| }, | |
| yAxis: { | |
| type: 'value' | |
| }, | |
| series: [{ | |
| data: [820, 932, 901, 934], | |
| type: 'bar' | |
| }] | |
| }; | |
| return option; | |
| } | |
| for (var i = 0; i < testArr.length; i++) { | |
| var dom = document.getElementById('main3' + i); | |
| if (dom) { | |
| dom.style.height = '90px'; | |
| var chart = echarts.init(dom); | |
| chart.setOption(makeOption(i)); | |
| } | |
| } | |
| }); | |
| </script> | |
| <script> | |
| require([ | |
| 'echarts' | |
| ], function (echarts) { | |
| var option = { | |
| xAxis: { | |
| type: 'category', | |
| data: ['Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun'], | |
| axisLabel: { | |
| fontSize: 20 | |
| } | |
| }, | |
| yAxis: { | |
| type: 'value' | |
| }, | |
| series: [{ | |
| data: [120, 200, 150, 80, 70, 110, 130], | |
| type: 'bar' | |
| }] | |
| }; | |
| testHelper.create(echarts, 'main4', { | |
| title: 'Label should not disappear after size changed. #11112', | |
| option: option, | |
| width: 700, | |
| height: 300, | |
| draggable: true | |
| }); | |
| }); | |
| </script> | |
| <script> | |
| require([ | |
| 'echarts' | |
| ], function (echarts) { | |
| var xAxisData = [ | |
| 'Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo', 'Libra', | |
| 'Scorpio', 'Sagittarius', 'Capricornus', 'Aquarius', 'Pisces' | |
| ]; | |
| var data0 = []; | |
| var data1 = []; | |
| var data2 = []; | |
| var data3 = []; | |
| for (var i = 0; i < xAxisData.length; i++) { | |
| data0.push([Math.random() * 100, Math.random() * 30]); | |
| data1.push(Math.random() * 30); | |
| data2.push([Math.random() * (i % 2 === 0 ? 100 : 1000000), Math.random() * 30]); | |
| data3.push([+new Date() + Math.round(Math.random() * 3600 * 24 * 30), Math.random() * 30]); | |
| } | |
| var height = '18%'; | |
| var option = { | |
| tooltip: { | |
| trigger: 'axis' | |
| }, | |
| dataZoom: [{ | |
| type: 'inside' | |
| }, { | |
| type: 'slider' | |
| }], | |
| xAxis: [{ | |
| type: 'category', | |
| data: xAxisData, | |
| height: height, | |
| axisTick: { | |
| // alignWithLabel: true | |
| }, | |
| // splitLine: {show: true}, | |
| axisPointer: { | |
| type: 'shadow' | |
| } | |
| }], | |
| yAxis: { | |
| // splitLine: {show: false} | |
| }, | |
| series: [{ | |
| type: 'scatter', | |
| symbolSize: function (val) { | |
| return val; | |
| }, | |
| data: data1 | |
| }] | |
| }; | |
| var chart = testHelper.create(echarts, 'main5', { | |
| title: 'tick split should be correct', | |
| option: option, | |
| width: 800, | |
| height: 240 | |
| // recordCanvas: true | |
| }); | |
| }); | |
| </script> | |
| </body> | |
| </html> |