|  | <!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="data/symbols.js"></script> | 
|  | <meta name="viewport" content="width=device-width, initial-scale=1" /> | 
|  | <link rel="stylesheet" href="lib/reset.css"> | 
|  | </head> | 
|  | <body> | 
|  | <style> | 
|  | .chart { | 
|  | position: relative; | 
|  | height: 500px; | 
|  | max-width: 1000px; | 
|  | margin: 0 auto; | 
|  | } | 
|  | h2 { | 
|  | text-align: center; | 
|  | font-size: 16px; | 
|  | line-height: 30px; | 
|  | font-weight: normal; | 
|  | background: #dde; | 
|  | } | 
|  | </style> | 
|  |  | 
|  | <h2>vertical | no clip | symbol w/h ratio and margin '40%!'</h2> | 
|  | <div class="chart" id="main1"></div> | 
|  | <h2>vertical | no clip | symbol w/h ratio and margin '40%' (notice 0 value)</h2> | 
|  | <div class="chart" id="main1.x"></div> | 
|  | <h2>vertical | clip | fixed repeatTimes</h2> | 
|  | <div class="chart" id="main1.1"></div> | 
|  | <h2>dataURI | symbolSize responsive (<strong>TRY RESIZE</strong>)</h2> | 
|  | <div class="chart" id="symbolSize"></div> | 
|  | <h2>horizontal | clip | positive | rotate</h2> | 
|  | <div class="chart" id="main2"></div> | 
|  | <h2>horizontal | clip | negative and positive symbolBoundingData | no animation</h2> | 
|  | <div class="chart" id="main3"></div> | 
|  | <h2>negative symbolMargin | symbolPosition (check whether overflow)</h2> | 
|  | <div class="chart" id="main4"></div> | 
|  | <h2>repeat strategy | dynamic data | axisPointer.type 'none' label show</h2> | 
|  | <div class="chart" id="dynamic-data"></div> | 
|  |  | 
|  | <script> | 
|  |  | 
|  | function makeChart(id, option, cb) { | 
|  | require([ | 
|  | 'echarts' | 
|  | ], function (echarts) { | 
|  | var main = document.getElementById(id); | 
|  | if (main) { | 
|  | var chartMain = document.createElement('div'); | 
|  | chartMain.style.cssText = 'height:100%'; | 
|  | main.appendChild(chartMain); | 
|  | var chart = echarts.init(chartMain); | 
|  | chart.setOption(option); | 
|  |  | 
|  | window.addEventListener('resize', chart.resize); | 
|  |  | 
|  | cb && cb(echarts, chart); | 
|  | } | 
|  |  | 
|  | }); | 
|  | } | 
|  |  | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | makeChart('main1', { | 
|  | legend: { | 
|  | data: ['data', 'data2', 'bg', 'original bar', 'original bg'], | 
|  | selected: { | 
|  | 'original bar': false, | 
|  | 'original bg': false | 
|  | } | 
|  | }, | 
|  | tooltip: { | 
|  | }, | 
|  | yAxis: { | 
|  | data: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'], | 
|  | axisTick: {show: false} | 
|  | }, | 
|  | xAxis: { | 
|  | splitLine: {show: false} | 
|  | }, | 
|  | // animationDuration: 2000, | 
|  | // animationDurationUpdate: 2000, | 
|  | series: [{ | 
|  | name: 'data', | 
|  | type: 'pictorialBar', | 
|  | cursor: 'move', | 
|  | label: { | 
|  | normal: { | 
|  | show: true, | 
|  | position: 'outside', | 
|  | offset: [40, 0] | 
|  | } | 
|  | }, | 
|  | symbol: pathSymbols.plane, | 
|  | symbolRepeat: true, | 
|  | symbolMargin: '40%!', | 
|  | symbolSize: ['100%', '80%'], | 
|  | z: 10, | 
|  | data: [12, 60, 54, '-', 23, -16, 0, 25] | 
|  | }, { | 
|  | name: 'data2', | 
|  | type: 'pictorialBar', | 
|  | symbol: pathSymbols.plane, | 
|  | barGap: '20%', | 
|  | symbolRepeat: true, | 
|  | symbolMargin: '40%!', | 
|  | symbolSize: ['100%', '80%'], | 
|  | z: 10, | 
|  | data: [33, 1, 41, -18, 23, -56, 0, 15] | 
|  | }, { | 
|  | name: 'original bar', | 
|  | type: 'bar', | 
|  | color: ['rgba(0,0,0,0.5)'], | 
|  | data: [12, 60, 54, '-', 23, -16, 0, 25] | 
|  | }, { | 
|  | name: 'original bg', | 
|  | type: 'bar', | 
|  | color: ['rgba(0,0,0,0.5)'], | 
|  | data: [60, 60, 60, '-', 60, -30, 60, 60] | 
|  | }] | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | makeChart('main1.x', { | 
|  | legend: { | 
|  | data: ['data', 'data2', 'bg', 'original bar', 'original bg'], | 
|  | selected: { | 
|  | 'original bar': false, | 
|  | 'original bg': false | 
|  | } | 
|  | }, | 
|  | tooltip: { | 
|  | }, | 
|  | yAxis: { | 
|  | data: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'], | 
|  | axisTick: {show: false} | 
|  | }, | 
|  | xAxis: { | 
|  | splitLine: {show: false} | 
|  | }, | 
|  | // animationDuration: 2000, | 
|  | // animationDurationUpdate: 2000, | 
|  | series: [{ | 
|  | name: 'data', | 
|  | type: 'pictorialBar', | 
|  | label: { | 
|  | normal: { | 
|  | show: true, | 
|  | position: 'outside', | 
|  | offset: [40, 0] | 
|  | } | 
|  | }, | 
|  | symbol: pathSymbols.plane, | 
|  | symbolRepeat: true, | 
|  | symbolMargin: '40%', | 
|  | symbolSize: ['100%', '80%'], | 
|  | z: 10, | 
|  | data: [12, 60, 54, '-', 23, -16, 0, 25] | 
|  | }, { | 
|  | name: 'data2', | 
|  | type: 'pictorialBar', | 
|  | symbol: pathSymbols.plane, | 
|  | barGap: '20%', | 
|  | symbolRepeat: true, | 
|  | symbolMargin: '40%', | 
|  | symbolSize: ['100%', '80%'], | 
|  | z: 10, | 
|  | data: [33, 1, 41, -18, 23, -56, 0, 15] | 
|  | }, { | 
|  | name: 'original bar', | 
|  | type: 'bar', | 
|  | color: ['rgba(0,0,0,0.5)'], | 
|  | data: [12, 60, 54, '-', 23, -16, 0, 25] | 
|  | }, { | 
|  | name: 'original bg', | 
|  | type: 'bar', | 
|  | color: ['rgba(0,0,0,0.5)'], | 
|  | data: [60, 60, 60, '-', 60, -30, 60, 60] | 
|  | }] | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | makeChart('main1.1', { | 
|  | legend: { | 
|  | data: ['data'], | 
|  | selected: { | 
|  | 'original bar': false, | 
|  | 'original bg': false | 
|  | } | 
|  | }, | 
|  | tooltip: { | 
|  | }, | 
|  | yAxis: { | 
|  | data: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'], | 
|  | axisTick: {show: false}, | 
|  | axisLine: {show: false} | 
|  | }, | 
|  | xAxis: { | 
|  | splitLine: {show: false}, | 
|  | axisTick: {show: false}, | 
|  | axisLabel: {show: false}, | 
|  | axisLine: {show: false} | 
|  | }, | 
|  | // animationDuration: 2000, | 
|  | // animationDurationUpdate: 2000, | 
|  | series: [{ | 
|  | name: 'data', | 
|  | type: 'pictorialBar', | 
|  | symbol: pathSymbols.pentagram, | 
|  | symbolRepeat: 5, | 
|  | itemStyle: { | 
|  | normal: { | 
|  | color: '#ddd' | 
|  | } | 
|  | }, | 
|  | animation: false, | 
|  | silent: true, | 
|  | data: [12, 60, 54, 25, 23, 16, 1, 25], | 
|  | z: -1 | 
|  | }, { | 
|  | name: 'data', | 
|  | type: 'pictorialBar', | 
|  | symbol: pathSymbols.pentagram, | 
|  | symbolRepeat: 5, | 
|  | symbolClip: true, | 
|  | z: 10, | 
|  | data: [12, 60, 54, 25, 23, 16, 1, 25] | 
|  | }] | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  |  | 
|  | makeChart('symbolSize', { | 
|  | color: ['#e54035'], | 
|  | xAxis: { | 
|  | splitLine: {show: false}, | 
|  | axisTick: {show: false}, | 
|  | axisLine: {show: false}, | 
|  | axisLabel: {show: false} | 
|  | }, | 
|  | yAxis: { | 
|  | data: ['a', 'b', 'c'], | 
|  | axisTick: {show: false}, | 
|  | axisLine: {show: false}, | 
|  | axisLabel: {show: false} | 
|  | }, | 
|  | grid: { | 
|  | height: 80 | 
|  | }, | 
|  | series: [{ | 
|  | name: 'glyph', | 
|  | type: 'pictorialBar', | 
|  | symbol: imageSymbols.spirit, | 
|  | symbolRepeat: 10, | 
|  | symbolSize: [20, 20], | 
|  | data: [100, 100, 100] | 
|  | }, { | 
|  | name: 'glyph', | 
|  | type: 'pictorialBar', | 
|  | symbol: 'rect', | 
|  | symbolSize: ['20%', 24], | 
|  | symbolPosition: 'center', | 
|  | itemStyle: { | 
|  | normal: { | 
|  | color: '#e54035' | 
|  | } | 
|  | }, | 
|  | label: { | 
|  | normal: { | 
|  | show: true, | 
|  | formatter: '16 亿', | 
|  | textStyle: { | 
|  | color: '#fff', | 
|  | fontSize: 18, | 
|  | fontFamily: 'Arial', | 
|  | fontWeight: 'bold' | 
|  | } | 
|  | } | 
|  | }, | 
|  | data: ['-', 100, '-'], | 
|  | z: 100 | 
|  | }] | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | makeChart('main2', { | 
|  | legend: { | 
|  | data: ['data', 'original bar', 'original bg'], | 
|  | selected: { | 
|  | 'original bar': false, | 
|  | 'original bg': false | 
|  | } | 
|  | }, | 
|  | tooltip: { | 
|  | // trigger: 'axis', | 
|  | // axisPointer: { | 
|  | //     type: 'line' | 
|  | // } | 
|  | }, | 
|  | xAxis: { | 
|  | data: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'], | 
|  | axisTick: {show: false} | 
|  | }, | 
|  | yAxis: { | 
|  | splitLine: {show: false} | 
|  | }, | 
|  | series: [{ | 
|  | name: 'data', | 
|  | type: 'pictorialBar', | 
|  | symbol: pathSymbols.pumpkin, | 
|  | symbolRotate: 30, | 
|  | itemStyle: { | 
|  | normal: { | 
|  | color: '#ddd' | 
|  | } | 
|  | }, | 
|  | label: { | 
|  | normal: { | 
|  | show: true, | 
|  | position: 'outside', | 
|  | textStyle: { | 
|  | color: '#c23531', | 
|  | fontSize: 20 | 
|  | } | 
|  | } | 
|  | }, | 
|  | silent: true, | 
|  | symbolRepeat: 'fixed', | 
|  | animation: false, | 
|  | symbolBoundingData: 60, | 
|  | data: [12, 60, 54, '-', 23, 2, 0, 25] | 
|  | }, { | 
|  | name: 'data', | 
|  | type: 'pictorialBar', | 
|  | symbol: pathSymbols.pumpkin, | 
|  | symbolRotate: 30, | 
|  | symbolRepeat: true, | 
|  | symbolClip: true, | 
|  | symbolBoundingData: 60, | 
|  | z: 10, | 
|  | data: [12, 60, 54, '-', 23, -2, 0, 25] | 
|  | }, { | 
|  | name: 'original bar', | 
|  | type: 'bar', | 
|  | color: ['rgba(0,0,0,0.5)'], | 
|  | data: [12, 60, 54, '-', 23, -2, 0, 25] | 
|  | }, { | 
|  | name: 'original bg', | 
|  | type: 'bar', | 
|  | color: ['rgba(0,0,0,0.5)'], | 
|  | data: [60, 60, 60, '-', 60, 60, 60, 60] | 
|  | }] | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | makeChart('main3', { | 
|  | animation: false, | 
|  | legend: { | 
|  | data: ['data', 'bg', 'original bar', 'original bg'], | 
|  | selected: { | 
|  | 'original bar': false, | 
|  | 'original bg': false | 
|  | } | 
|  | }, | 
|  | tooltip: { | 
|  | // trigger: 'axis', | 
|  | // axisPointer: { | 
|  | //     type: 'line' | 
|  | // } | 
|  | }, | 
|  | xAxis: { | 
|  | data: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'], | 
|  | axisTick: {show: false}, | 
|  | position: 'top' | 
|  | }, | 
|  | yAxis: { | 
|  | splitLine: {show: false} | 
|  | }, | 
|  | series: [{ | 
|  | name: 'bg', | 
|  | type: 'pictorialBar', | 
|  | symbol: pathSymbols.pumpkin, | 
|  | itemStyle: { | 
|  | normal: { | 
|  | color: '#ddd' | 
|  | } | 
|  | }, | 
|  | label: { | 
|  | normal: { | 
|  | show: true, | 
|  | position: 'outside', | 
|  | textStyle: { | 
|  | color: '#c23531', | 
|  | fontSize: 20 | 
|  | } | 
|  | } | 
|  | }, | 
|  | silent: true, | 
|  | symbolRepeat: 'fixed', | 
|  | symbolClip: false, | 
|  | symbolBoundingData: 40, | 
|  | symbolRotate: 30, | 
|  | z: -1, | 
|  | data: [-12, -60, 34, '-', 23, -2, 0, -25] | 
|  | }, { | 
|  | name: 'bg', | 
|  | type: 'pictorialBar', | 
|  | symbol: pathSymbols.pumpkin, | 
|  | itemStyle: { | 
|  | normal: { | 
|  | color: '#ddd' | 
|  | } | 
|  | }, | 
|  | label: { | 
|  | normal: { | 
|  | show: true, | 
|  | position: 'outside', | 
|  | textStyle: { | 
|  | color: '#c23531', | 
|  | fontSize: 20 | 
|  | } | 
|  | } | 
|  | }, | 
|  | silent: true, | 
|  | symbolRepeat: 'fixed', | 
|  | symbolClip: false, | 
|  | symbolBoundingData: -60, | 
|  | symbolRotate: 30, | 
|  | z: -1, | 
|  | data: [-12, -60, 34, '-', 23, -2, 0, -25] | 
|  | }, { | 
|  | name: 'data', | 
|  | type: 'pictorialBar', | 
|  | itemStyle: { | 
|  | emphasis: { | 
|  | color: 'blue' | 
|  | } | 
|  | }, | 
|  | symbol: pathSymbols.pumpkin, | 
|  | symbolRepeat: true, | 
|  | symbolClip: true, | 
|  | symbolRotate: 30, | 
|  | symbolBoundingData: [-60, 40], | 
|  | data: [-12, -60, 34, '-', 23, -2, 0, -25] | 
|  | }, { | 
|  | name: 'original bar', | 
|  | type: 'bar', | 
|  | color: ['rgba(0,0,0,0.5)'], | 
|  | data: [-12, -60, 34, '-', 23, -2, 0, -25] | 
|  | }, { | 
|  | name: 'original bg', | 
|  | type: 'bar', | 
|  | color: ['rgba(0,0,0,0.5)'], | 
|  | data: [-60, -60, 40, '-', 40, -60, -60, -60] | 
|  | }] | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  |  | 
|  | makeChart('main4', { | 
|  | color: ['#bb0004', 'orange'], | 
|  | xAxis: { | 
|  | data: [], | 
|  | axisTick: {show: false}, | 
|  | axisLabel: {show: false} | 
|  | }, | 
|  | yAxis: { | 
|  | splitLine: {show: false}, | 
|  | axisTick: {show: false}, | 
|  | axisLine: {show: false}, | 
|  | axisLabel: {show: false} | 
|  | }, | 
|  | grid: { | 
|  | bottom: 100 | 
|  | }, | 
|  | animationEasing: 'elasticOut', | 
|  | series: [{ | 
|  | name: 'all', | 
|  | type: 'pictorialBar', | 
|  | barCategoryGap: '40%', | 
|  | label: { | 
|  | normal: { | 
|  | show: true, | 
|  | position: 'outside' | 
|  | } | 
|  | }, | 
|  | itemStyle: { | 
|  | normal: { | 
|  | borderColor: 'rgba(0,0,0,0.5)', | 
|  | borderWidth: 6 | 
|  | } | 
|  | }, | 
|  | symbol: 'circle', | 
|  | data: [{ | 
|  | value: 29000, | 
|  | symbolBoundingData: 29000, | 
|  | symbolRepeat: true, | 
|  | label: {normal: {formatter: 'start'}} | 
|  | }, { | 
|  | value: 29000, | 
|  | symbolBoundingData: 29000, | 
|  | symbolRepeat: true, | 
|  | symbolSize: ['80%', '20%'], | 
|  | label: {normal: {formatter: 'start'}} | 
|  | }, { | 
|  | value: 29000, | 
|  | symbolBoundingData: 29000, | 
|  | symbolRepeat: true, | 
|  | symbolMargin: 10, | 
|  | label: {normal: {formatter: 'start'}} | 
|  | }, { | 
|  | value: 29000, | 
|  | symbolBoundingData: 29000, | 
|  | symbolRepeat: true, | 
|  | symbolMargin: 30, | 
|  | symbolSize: ['100%', 160], | 
|  | label: {normal: {formatter: 'start'}} | 
|  | }, { | 
|  | value: 29000, | 
|  | symbolBoundingData: 29000, | 
|  | symbolRepeat: true, | 
|  | symbolMargin: 30, | 
|  | symbolSize: ['100%', 160], | 
|  | symbolPosition: 'center', | 
|  | label: {normal: {formatter: 'center'}} | 
|  | }, { | 
|  | value: 29000, | 
|  | symbolBoundingData: 29000, | 
|  | symbolRepeat: true, | 
|  | symbolMargin: 30, | 
|  | symbolSize: ['100%', 160], | 
|  | symbolPosition: 'end', | 
|  | label: {normal: {formatter: 'end'}} | 
|  | }, { | 
|  | value: 29000, | 
|  | symbolBoundingData: 29000, | 
|  | symbolRepeat: true, | 
|  | symbolSize: ['80%', '120%'], | 
|  | symbolMargin: '-30%', | 
|  | label: {normal: {formatter: 'start'}} | 
|  | }, { | 
|  | value: 29000, | 
|  | symbolBoundingData: 29000, | 
|  | symbolRepeat: true, | 
|  | symbolSize: ['80%', '120%'], | 
|  | symbolMargin: '-30%', | 
|  | symbolPosition: 'center', | 
|  | label: {normal: {formatter: 'center'}} | 
|  | }, { | 
|  | value: 29000, | 
|  | symbolBoundingData: 29000, | 
|  | symbolRepeat: true, | 
|  | symbolRotate: 80, | 
|  | symbolSize: ['80%', '120%'], | 
|  | symbolMargin: '-30%', | 
|  | symbolPosition: 'end', | 
|  | label: {normal: {formatter: 'end'}} | 
|  | }, { | 
|  | value: 19000, | 
|  | symbolPosition: 'start', | 
|  | label: {normal: {formatter: 'start'}} | 
|  | }, { | 
|  | value: 19000, | 
|  | symbolSize: ['60%', '20%'], | 
|  | symbolPosition: 'start', | 
|  | label: {normal: {formatter: 'start'}} | 
|  | }, { | 
|  | value: 19000, | 
|  | symbolSize: ['60%', '20%'], | 
|  | symbolPosition: 'center', | 
|  | label: {normal: {formatter: 'center'}} | 
|  | }, { | 
|  | value: 19000, | 
|  | symbolSize: ['60%', '20%'], | 
|  | symbolPosition: 'end', | 
|  | label: {normal: {formatter: 'end'}} | 
|  | }, { | 
|  | value: 19000, | 
|  | symbolSize: ['60%', '150%'], | 
|  | symbolPosition: 'start', | 
|  | label: {normal: {formatter: 'start'}} | 
|  | }, { | 
|  | value: 19000, | 
|  | symbolSize: ['60%', '150%'], | 
|  | symbolPosition: 'center', | 
|  | label: {normal: {formatter: 'center'}} | 
|  | }, { | 
|  | value: 19000, | 
|  | symbolSize: ['60%', '150%'], | 
|  | symbolPosition: 'end', | 
|  | label: {normal: {formatter: 'end'}} | 
|  | }, { | 
|  | value: 190, | 
|  | symbolPosition: 'end', | 
|  | label: {normal: {formatter: 'min'}} | 
|  | }], | 
|  | z: 10 | 
|  | }, { | 
|  | name: 'shadow2', | 
|  | type: 'bar', | 
|  | data: [29000, 29000, 29000, 29000, 29000, 29000, 29000, 29000, 29000, 19000, 19000, 19000, 19000, 19000, 19000, 19000, 19] | 
|  | }] | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  |  | 
|  | var startData = 13000; | 
|  | var maxData = 18000; | 
|  | var minData = 5000; | 
|  |  | 
|  | makeChart('dynamic-data', { | 
|  | backgroundColor: '#0f375f', | 
|  | tooltip: { | 
|  | trigger: 'axis', | 
|  | axisPointer: { | 
|  | type: 'none', | 
|  | label: {show: true} | 
|  | } | 
|  | }, | 
|  | legend: { | 
|  | data: ['all'], | 
|  | textStyle: {color: '#ddd'} | 
|  | }, | 
|  | grid: { | 
|  | bottom: 100 | 
|  | }, | 
|  | xAxis: [{ | 
|  | data: [ | 
|  | 'standard', | 
|  | 'fix symbol margin\n(not accurate)\n(but more comparable)', | 
|  | 'use symbolBoundingData\nauto repeat times\n(accurate)\n(but symbolMargin not fixed)', | 
|  | 'use symbolBoundingData\nfix repeat times\n(accurate)\n(but less responsive)' | 
|  | ], | 
|  | axisTick: {show: false}, | 
|  | axisLine: { | 
|  | lineStyle: { | 
|  | color: '#ddd' | 
|  | } | 
|  | }, | 
|  | axisLabel: { | 
|  | margin: 20, | 
|  | interval: 0, | 
|  | textStyle: { | 
|  | color: '#ddd', | 
|  | fontSize: 14 | 
|  | } | 
|  | } | 
|  | }], | 
|  | yAxis: { | 
|  | splitLine: {show: false}, | 
|  | axisTick: { | 
|  | lineStyle: { | 
|  | color: '#ddd' | 
|  | } | 
|  | }, | 
|  | axisLine: { | 
|  | lineStyle: { | 
|  | color: '#ddd' | 
|  | } | 
|  | }, | 
|  | axisLabel: { | 
|  | textStyle: { | 
|  | color: '#ddd' | 
|  | } | 
|  | } | 
|  | }, | 
|  | animationEasing: 'cubicOut', | 
|  | animationDuration: 100, | 
|  | animationDurationUpdate: 2000, | 
|  | series: [{ | 
|  | type: 'pictorialBar', | 
|  | name: 'all', | 
|  | id: 'paper', | 
|  | hoverAnimation: true, | 
|  | label: { | 
|  | normal: { | 
|  | show: true, | 
|  | position: 'top', | 
|  | formatter: '{c} km', | 
|  | textStyle: { | 
|  | fontSize: 16, | 
|  | color: '#e54035' | 
|  | } | 
|  | } | 
|  | }, | 
|  | symbol: imageSymbols.paper, | 
|  | symbolSize: ['70%', 50], | 
|  | symbolMargin: '-25%', | 
|  | data: [{ | 
|  | value: maxData, | 
|  | symbolRepeat: true | 
|  | }, { | 
|  | value: startData, | 
|  | symbolRepeat: true | 
|  | }, { | 
|  | value: startData, | 
|  | symbolBoundingData: startData, | 
|  | symbolRepeat: true | 
|  | }, { | 
|  | value: startData, | 
|  | symbolBoundingData: startData, | 
|  | symbolRepeat: 20 | 
|  | }], | 
|  | markLine: { | 
|  | symbol: ['none', 'none'], | 
|  | label: { | 
|  | normal: {show: false} | 
|  | }, | 
|  | lineStyle: { | 
|  | normal: { | 
|  | color: '#e54035' | 
|  | } | 
|  | }, | 
|  | data: [{ | 
|  | yAxis: startData | 
|  | }] | 
|  | } | 
|  | }, { | 
|  | name: 'all', | 
|  | type: 'pictorialBar', | 
|  | symbol: 'circle', | 
|  | itemStyle: { | 
|  | normal: { | 
|  | color: '#185491' | 
|  | } | 
|  | }, | 
|  | silent: true, | 
|  | symbolSize: ['150%', 50], | 
|  | symbolOffset: [0, 20], | 
|  | z: -10, | 
|  | data: [1, 1, 1, 1] | 
|  | }] | 
|  | }, function (echarts, chart) { | 
|  |  | 
|  | setInterval(function () { | 
|  | var dynamicData = Math.round(Math.random() * (maxData - minData) + minData); | 
|  |  | 
|  | chart.setOption({ | 
|  | series: [{ | 
|  | id: 'paper', | 
|  | data: [{ | 
|  | value: maxData, | 
|  | symbolRepeat: true | 
|  | }, { | 
|  | value: dynamicData, | 
|  | symbolRepeat: true | 
|  | }, { | 
|  | value: dynamicData, | 
|  | symbolBoundingData: dynamicData, | 
|  | symbolRepeat: true | 
|  | }, { | 
|  | value: dynamicData, | 
|  | symbolBoundingData: dynamicData, | 
|  | symbolRepeat: 20 | 
|  | }], | 
|  | markLine: { | 
|  | data: [{ | 
|  | yAxis: dynamicData | 
|  | }] | 
|  | } | 
|  | }] | 
|  | }); | 
|  | }, 3000); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | </body> | 
|  | </html> |