| |
| <!-- |
| 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/esl.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> |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| </head> |
| <body> |
| <style> |
| h1 { |
| line-height: 60px; |
| height: 60px; |
| background: #146402; |
| text-align: center; |
| font-weight: bold; |
| color: #eee; |
| font-size: 14px; |
| } |
| .chart { |
| height: 600px; |
| } |
| </style> |
| |
| <div id="main1" class="chart"></div> |
| |
| |
| <button id='btn-1'>A++</button> |
| <button id='btn-2'>B++</button> |
| <button id='btn-3'>C++</button> |
| <button id='btn-4'>D++</button> |
| <div id="main2" class="chart"></div> |
| |
| |
| <div id="main3" class="chart"></div> |
| |
| |
| <script> |
| |
| require( |
| (testHelper.hasURLParam('en') |
| ? [ |
| 'echarts', |
| // 'echarts/lang/en', |
| ] |
| : [ |
| 'echarts' |
| ] |
| ).concat( |
| [ |
| // 'echarts/chart/bar', |
| // 'echarts/chart/line', |
| // 'echarts/component/legend', |
| // 'echarts/component/graphic', |
| // 'echarts/component/grid', |
| // 'echarts/component/tooltip', |
| // 'echarts/component/brush', |
| // 'echarts/component/toolbox', |
| // 'echarts/component/title', |
| // 'zrender/vml/vml' |
| ] |
| ), |
| function (echarts) { |
| |
| function loadLifeData(cb) { |
| $.getJSON('data/life-expectancy-table.json', function (data) { |
| cb(data); |
| }) |
| } |
| |
| var chart = echarts.init(document.getElementById('main1'), null, { |
| // renderer: 'svg' |
| }); |
| |
| var updateFrequency = 5000; |
| var dimension = 1; |
| |
| loadLifeData(function (data) { |
| var years = []; |
| for (var i = 0; i < data.length; ++i) { |
| if (years.length === 0 || years[years.length - 1] !== data[i][4]) { |
| years.push(data[i][4]); |
| } |
| } |
| |
| var option = { |
| grid: { |
| left: 150, |
| right: 150 |
| }, |
| xAxis: { |
| max: 'dataMax', |
| label: { |
| formatter: function (n) { |
| return Math.round(n); |
| } |
| } |
| }, |
| dataset: { |
| source: data.slice(1).filter(d => { |
| return d[4] === 1800; |
| }) |
| }, |
| yAxis: { |
| type: 'category', |
| inverse: true, |
| max: 10, |
| axisLabel: { |
| show: true |
| }, |
| animationDuration: 300, |
| animationDurationUpdate: 300 |
| }, |
| series: [{ |
| realtimeSort: true, |
| seriesLayoutBy: 'column', |
| type: 'bar', |
| encode: { |
| x: dimension, |
| y: 3 |
| }, |
| label: { |
| show: true, |
| position: 'right', |
| formatter: function (param) { |
| return param.value[dimension]; |
| }, |
| valueAnimation: true, |
| fontFamily: 'monospace' |
| } |
| }], |
| animationDurationUpdate: updateFrequency, |
| animationEasing: 'linear', |
| animationEasingUpdate: 'linear', |
| graphic: { |
| elements: [{ |
| type: 'text', |
| right: 160, |
| bottom: 60, |
| style: { |
| text: '1960', |
| font: 'bolder 80px monospace', |
| fill: 'rgba(100, 100, 100, 0.25)' |
| }, |
| z: 100 |
| }] |
| } |
| }; |
| |
| // console.log(option); |
| chart.setOption(option); |
| |
| for (var i = 1; i < years.length; ++i) { |
| (function (i) { |
| setTimeout(function () { |
| updateYear(years[i + 1]); |
| }, (i - 1) * updateFrequency); |
| })(i); |
| } |
| |
| function updateYear(year) { |
| var source = data.slice(1).filter(d => { |
| return d[4] === year; |
| }); |
| option.series[0].data = source; |
| option.graphic.elements[0].style.text = year; |
| chart.setOption(option); |
| } |
| }); |
| |
| } |
| |
| ); |
| </script> |
| |
| |
| |
| <script> |
| |
| require( |
| (testHelper.hasURLParam('en') |
| ? [ |
| 'echarts', |
| // 'echarts/lang/en', |
| ] |
| : [ |
| 'echarts' |
| ] |
| ).concat( |
| [ |
| // 'echarts/chart/bar', |
| // 'echarts/chart/line', |
| // 'echarts/component/legend', |
| // 'echarts/component/graphic', |
| // 'echarts/component/grid', |
| // 'echarts/component/tooltip', |
| // 'echarts/component/brush', |
| // 'echarts/component/toolbox', |
| // 'echarts/component/title', |
| // 'zrender/vml/vml' |
| ] |
| ), |
| function (echarts) { |
| var chart = echarts.init(document.getElementById('main2'), null, { |
| }); |
| var option = { |
| xAxis: { |
| max: 'dataMax' |
| }, |
| yAxis: { |
| type: 'category', |
| data: ['A', 'B', 'C', 'D'], |
| inverse: true, |
| axisLabel: { |
| formatter: function (label, id) { |
| return label + 0 + id; |
| } |
| }, |
| animationDuration: 300, |
| animationDurationUpdate: 300, |
| max: 2 |
| }, |
| series: [{ |
| realtimeSort: true, |
| name: 'X', |
| type: 'bar', |
| data: [{ |
| value: 120, |
| itemStyle: { |
| color: 'red' |
| } |
| }, { |
| value: 200, |
| itemStyle: { |
| color: 'orange' |
| } |
| }, { |
| value: 90, |
| itemStyle: { |
| color: 'yellow' |
| } |
| }, { |
| value: 240, |
| itemStyle: { |
| color: 'green' |
| } |
| }], |
| label: { |
| show: true, |
| position: 'right', |
| formatter: '{c}元', |
| valueAnimation: true |
| } |
| }], |
| legend: { |
| show: true |
| }, |
| animationDurationUpdate: 5000, |
| animationEasing: 'linear', |
| animationEasingUpdate: 'linear' |
| }; |
| |
| chart.setOption(option); |
| |
| setTimeout(() => { |
| var data = option.series[0].data; |
| data[1].value += 100; |
| chart.setOption(option); |
| }, 1000); |
| |
| setTimeout(() => { |
| var data = option.series[0].data; |
| data[3].value += 100; |
| chart.setOption(option); |
| }, 3400); |
| |
| for (var x = 0; x < 4; ++x) { |
| (function (x) { |
| var btn = document.getElementById('btn-' + (x + 1)); |
| btn.onclick = function () { |
| var data = option.series[0].data; |
| data[x].value += Math.round(100 * Math.random()); |
| chart.setOption(option); |
| }; |
| })(x); |
| } |
| } |
| |
| ); |
| </script> |
| |
| |
| |
| <script> |
| |
| require( |
| (testHelper.hasURLParam('en') |
| ? [ |
| 'echarts', |
| // 'echarts/lang/en', |
| ] |
| : [ |
| 'echarts' |
| ] |
| ).concat( |
| [ |
| // 'echarts/chart/bar', |
| // 'echarts/chart/line', |
| // 'echarts/component/legend', |
| // 'echarts/component/graphic', |
| // 'echarts/component/grid', |
| // 'echarts/component/tooltip', |
| // 'echarts/component/brush', |
| // 'echarts/component/toolbox', |
| // 'echarts/component/title', |
| // 'zrender/vml/vml' |
| ] |
| ), |
| function (echarts) { |
| var chart = echarts.init(document.getElementById('main3'), null, { |
| }); |
| var option = { |
| title: { |
| text: 'When yAxis max is larger than yAxis data length, it should not get error' |
| }, |
| xAxis: { |
| }, |
| yAxis: { |
| type: 'category', |
| data: ['A', 'B', 'C'], |
| max: 5 |
| }, |
| series: [{ |
| realtimeSort: true, |
| type: 'bar', |
| data: [10, 8, 2] |
| }] |
| }; |
| |
| chart.setOption(option); |
| } |
| |
| ); |
| </script> |
| </body> |
| </html> |