|  | <!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"> | 
|  | <meta name="viewport" content="width=device-width, initial-scale=1" /> | 
|  | <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="ut/lib/canteen.js"></script> --> | 
|  | <link rel="stylesheet" href="lib/reset.css" /> | 
|  | </head> | 
|  | <body> | 
|  | <style> | 
|  | </style> | 
|  |  | 
|  |  | 
|  |  | 
|  | <div id="main0"></div> | 
|  | <div id="main1"></div> | 
|  | <div id="main2"></div> | 
|  | <div id="main3"></div> | 
|  | <div id="main4"></div> | 
|  | <div id="main5"></div> | 
|  |  | 
|  |  | 
|  | <script> | 
|  | window.ANIMATION_DURATION_UPDATE = 1000; | 
|  | </script> | 
|  |  | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require([ | 
|  | 'echarts' | 
|  | ], function (echarts) { | 
|  | var option; | 
|  |  | 
|  | option = { | 
|  | title: { | 
|  | text: 'Bar' | 
|  | }, | 
|  | animationDurationUpdate: ANIMATION_DURATION_UPDATE, | 
|  | dataset: [{ | 
|  | dimensions: ['name', 'age', 'profession', 'score', 'date'], | 
|  | source: [ | 
|  | ['Hannah Krause ', 41, 'Engineer', 314, '2011-02-12'], | 
|  | ['Zhao Qian ', 20, 'Teacher', 351, '2011-03-01'], | 
|  | ['Jasmin Krause ', 52, 'Musician', 287, '2011-02-14'], | 
|  | ['Li Lei', 37, 'Teacher', 219, '2011-02-18'], | 
|  | ['Karle Neumann ', 25, 'Engineer', 253, '2011-04-02'], | 
|  | ['Adrian Groß', 19, 'Teacher', null, '2011-01-16'], | 
|  | ['Mia Neumann', 71, 'Engineer', 165, '2011-03-19'], | 
|  | ['Böhm Fuchs', 36, 'Musician', 318, '2011-02-24'], | 
|  | ['Han Meimei ', 67, 'Engineer', 366, '2011-03-12'], | 
|  | ] | 
|  | }, { | 
|  | transform: { | 
|  | type: 'sort', | 
|  | config: { dimension: 'score', order: 'desc' } | 
|  | } | 
|  | }], | 
|  | xAxis: { | 
|  | type: 'category', | 
|  | axisLabel: { interval: 0, rotate: 30 }, | 
|  | }, | 
|  | yAxis: {}, | 
|  | series: { | 
|  | type: 'bar', | 
|  | id: 'main', | 
|  | encode: { x: 'name', y: 'score', itemName: 'name' }, | 
|  | datasetIndex: 1 | 
|  | } | 
|  | }; | 
|  |  | 
|  | var chart = testHelper.create(echarts, 'main0', { | 
|  | title: [ | 
|  | 'Convert between pie, bar, scatter, line, funnel' | 
|  | ], | 
|  | recordVideo: true, | 
|  | // height: 300, | 
|  | buttons: [{ | 
|  | text: 'Pie', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | title: { | 
|  | text: 'Pie' | 
|  | }, | 
|  | xAxis: { show: false }, | 
|  | yAxis: { show: false }, | 
|  | series: { | 
|  | id: 'main', | 
|  | type: 'pie', | 
|  | animationDurationUpdate: ANIMATION_DURATION_UPDATE, | 
|  | encode: { x: 'name', y: 'score', itemName: 'name' }, | 
|  | datasetIndex: 1, | 
|  | universalTransition: true | 
|  | } | 
|  | }); | 
|  | } | 
|  | }, { | 
|  | text: 'Scatter', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | title: { text: 'Scatter' }, | 
|  | xAxis: { show: true }, | 
|  | yAxis: { show: true }, | 
|  | series: { | 
|  | id: 'main', | 
|  | type: 'scatter', | 
|  | symbolSize: 30, | 
|  | encode: { x: 'name', y: 'score', itemName: 'name' }, | 
|  | datasetIndex: 1, | 
|  | universalTransition: true | 
|  | } | 
|  | }); | 
|  | } | 
|  | }, { | 
|  | text: 'Line', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | title: { text: 'Line' }, | 
|  | xAxis: { show: true }, | 
|  | yAxis: { show: true }, | 
|  | series: { | 
|  | id: 'main', | 
|  | type: 'line', | 
|  | symbol: 'diamond', | 
|  | symbolSize: 20, | 
|  | encode: { x: 'name', y: 'score', itemName: 'name' }, | 
|  | datasetIndex: 1, | 
|  | universalTransition: true | 
|  | } | 
|  | }); | 
|  | } | 
|  | }, { | 
|  | text: 'Bar', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | title: { text: 'Bar' }, | 
|  | xAxis: { show: true }, | 
|  | yAxis: { show: true }, | 
|  | series: { | 
|  | type: 'bar', | 
|  | id: 'main', | 
|  | encode: { x: 'name', y: 'score', itemName: 'name' }, | 
|  | datasetIndex: 1, | 
|  | universalTransition: true | 
|  | } | 
|  | }); | 
|  | } | 
|  | }, { | 
|  | text: 'Funnel', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | title: { text: 'Funnel' }, | 
|  | xAxis: { show: false }, | 
|  | yAxis: { show: false }, | 
|  | series: { | 
|  | id: 'main', | 
|  | type: 'funnel', | 
|  | encode: { x: 'name', y: 'score', itemName: 'name' }, | 
|  | datasetIndex: 1, | 
|  | universalTransition: true | 
|  | } | 
|  | }); | 
|  | } | 
|  | }], | 
|  | option: option | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  |  | 
|  | <script> | 
|  | require([ | 
|  | 'echarts' | 
|  | ], function (echarts) { | 
|  | var option; | 
|  | var hours = ['12a', '1a', '2a', '3a', '4a', '5a', '6a', | 
|  | '7a', '8a', '9a','10a','11a', | 
|  | '12p', '1p', '2p', '3p', '4p', '5p', | 
|  | '6p', '7p', '8p', '9p', '10p', '11p']; | 
|  | var days = ['Saturday', 'Friday', 'Thursday', | 
|  | 'Wednesday', 'Tuesday', 'Monday', 'Sunday']; | 
|  |  | 
|  | var data = [[0,0,5],[0,1,1],[0,2,0],[0,3,0],[0,4,0],[0,5,0],[0,6,0],[0,7,0],[0,8,0],[0,9,0],[0,10,0],[0,11,2],[0,12,4],[0,13,1],[0,14,1],[0,15,3],[0,16,4],[0,17,6],[0,18,4],[0,19,4],[0,20,3],[0,21,3],[0,22,2],[0,23,5],[1,0,7],[1,1,0],[1,2,0],[1,3,0],[1,4,0],[1,5,0],[1,6,0],[1,7,0],[1,8,0],[1,9,0],[1,10,5],[1,11,2],[1,12,2],[1,13,6],[1,14,9],[1,15,11],[1,16,6],[1,17,7],[1,18,8],[1,19,12],[1,20,5],[1,21,5],[1,22,7],[1,23,2],[2,0,1],[2,1,1],[2,2,0],[2,3,0],[2,4,0],[2,5,0],[2,6,0],[2,7,0],[2,8,0],[2,9,0],[2,10,3],[2,11,2],[2,12,1],[2,13,9],[2,14,8],[2,15,10],[2,16,6],[2,17,5],[2,18,5],[2,19,5],[2,20,7],[2,21,4],[2,22,2],[2,23,4],[3,0,7],[3,1,3],[3,2,0],[3,3,0],[3,4,0],[3,5,0],[3,6,0],[3,7,0],[3,8,1],[3,9,0],[3,10,5],[3,11,4],[3,12,7],[3,13,14],[3,14,13],[3,15,12],[3,16,9],[3,17,5],[3,18,5],[3,19,10],[3,20,6],[3,21,4],[3,22,4],[3,23,1],[4,0,1],[4,1,3],[4,2,0],[4,3,0],[4,4,0],[4,5,1],[4,6,0],[4,7,0],[4,8,0],[4,9,2],[4,10,4],[4,11,4],[4,12,2],[4,13,4],[4,14,4],[4,15,14],[4,16,12],[4,17,1],[4,18,8],[4,19,5],[4,20,3],[4,21,7],[4,22,3],[4,23,0],[5,0,2],[5,1,1],[5,2,0],[5,3,3],[5,4,0],[5,5,0],[5,6,0],[5,7,0],[5,8,2],[5,9,0],[5,10,4],[5,11,1],[5,12,5],[5,13,10],[5,14,5],[5,15,7],[5,16,11],[5,17,6],[5,18,0],[5,19,5],[5,20,3],[5,21,4],[5,22,2],[5,23,0],[6,0,1],[6,1,0],[6,2,0],[6,3,0],[6,4,0],[6,5,0],[6,6,0],[6,7,0],[6,8,0],[6,9,0],[6,10,1],[6,11,0],[6,12,2],[6,13,1],[6,14,3],[6,15,4],[6,16,0],[6,17,0],[6,18,0],[6,19,0],[6,20,1],[6,21,2],[6,22,2],[6,23,6]]; | 
|  |  | 
|  | data = data.map(function (item) { | 
|  | return [item[1], item[0], item[2] || '-']; | 
|  | }); | 
|  |  | 
|  | const heatmapSeries = { | 
|  | name: 'Punch Card', | 
|  | id: 'punch-card', | 
|  | type: 'heatmap', | 
|  | data: data, | 
|  | label: { | 
|  | show: true | 
|  | }, | 
|  | universalTransition: { | 
|  | enabled: true | 
|  | } | 
|  | } | 
|  |  | 
|  | function makeScatterSeries(symbolType) { | 
|  | return { | 
|  | name: 'Punch Card', | 
|  | id: 'punch-card', | 
|  | type: 'scatter', | 
|  | symbol: symbolType, | 
|  | symbolSize: item => { | 
|  | return Math.sqrt(item[2]) * 10; | 
|  | }, | 
|  | symbolKeepAspect: true, | 
|  | data: data, | 
|  | label: { | 
|  | show: true | 
|  | }, | 
|  | universalTransition: { | 
|  | enabled: true | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | option = { | 
|  | tooltip: { | 
|  | position: 'top' | 
|  | }, | 
|  | grid: { | 
|  | height: '50%', | 
|  | top: '10%' | 
|  | }, | 
|  | xAxis: { | 
|  | type: 'category', | 
|  | data: hours, | 
|  | splitArea: { | 
|  | show: true | 
|  | } | 
|  | }, | 
|  | yAxis: { | 
|  | type: 'category', | 
|  | data: days, | 
|  | splitArea: { | 
|  | show: true | 
|  | } | 
|  | }, | 
|  | visualMap: { | 
|  | min: 0, | 
|  | max: 10, | 
|  | calculable: true, | 
|  | orient: 'horizontal', | 
|  | left: 'center', | 
|  | bottom: '15%' | 
|  | }, | 
|  | animationDurationUpdate: ANIMATION_DURATION_UPDATE, | 
|  | series: heatmapSeries | 
|  | }; | 
|  |  | 
|  | var chart = testHelper.create(echarts, 'main1', { | 
|  | title: [ | 
|  | 'Convert between heatmap, scatter (with different symbols)' | 
|  | ], | 
|  | recordVideo: true, | 
|  | // height: 300, | 
|  | buttons: [{ | 
|  | text: 'Heatmap', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | series: heatmapSeries | 
|  | }); | 
|  | } | 
|  | }, { | 
|  | text: 'Scatter (Rect)', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | series: makeScatterSeries('rect') | 
|  | }); | 
|  | } | 
|  | }, { | 
|  | text: 'Scatter (Diamond)', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | series: makeScatterSeries('diamond') | 
|  | }); | 
|  | } | 
|  | }, { | 
|  | text: 'Scatter (Circle)', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | series: makeScatterSeries('circle') | 
|  | }); | 
|  | } | 
|  | }, { | 
|  | text: 'Scatter (Custom Symbol)', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | series: makeScatterSeries('path://M432.45,595.444c0,2.177-4.661,6.82-11.305,6.82c-6.475,0-11.306-4.567-11.306-6.82s4.852-6.812,11.306-6.812C427.841,588.632,432.452,593.191,432.45,595.444L432.45,595.444z M421.155,589.876c-3.009,0-5.448,2.495-5.448,5.572s2.439,5.572,5.448,5.572c3.01,0,5.449-2.495,5.449-5.572C426.604,592.371,424.165,589.876,421.155,589.876L421.155,589.876z M421.146,591.891c-1.916,0-3.47,1.589-3.47,3.549c0,1.959,1.554,3.548,3.47,3.548s3.469-1.589,3.469-3.548C424.614,593.479,423.062,591.891,421.146,591.891L421.146,591.891zM421.146,591.891') | 
|  | }) | 
|  | } | 
|  | }], | 
|  | option: option | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  | <script> | 
|  | require([ | 
|  | 'echarts' | 
|  | ], function (echarts) { | 
|  | var item1 = { | 
|  | color: '#F54F4A' | 
|  | }; | 
|  | var item2 = { | 
|  | color: '#FF8C75' | 
|  | }; | 
|  | var item3 = { | 
|  | color: '#FFB499' | 
|  | }; | 
|  |  | 
|  | var data = [{ | 
|  | children: [{ | 
|  | value: 5, | 
|  | children: [{ | 
|  | value: 1, | 
|  | itemStyle: item1 | 
|  | }, { | 
|  | value: 2, | 
|  | children: [{ | 
|  | value: 1, | 
|  | itemStyle: item2 | 
|  | }] | 
|  | }, { | 
|  | children: [{ | 
|  | value: 1 | 
|  | }] | 
|  | }], | 
|  | itemStyle: item1 | 
|  | }, { | 
|  | value: 10, | 
|  | children: [{ | 
|  | value: 6, | 
|  | children: [{ | 
|  | value: 1, | 
|  | itemStyle: item1 | 
|  | }, { | 
|  | value: 1 | 
|  | }, { | 
|  | value: 1, | 
|  | itemStyle: item2 | 
|  | }, { | 
|  | value: 1 | 
|  | }], | 
|  | itemStyle: item3 | 
|  | }, { | 
|  | value: 2, | 
|  | children: [{ | 
|  | value: 1 | 
|  | }], | 
|  | itemStyle: item3 | 
|  | }, { | 
|  | children: [{ | 
|  | value: 1, | 
|  | itemStyle: item2 | 
|  | }] | 
|  | }], | 
|  | itemStyle: item1 | 
|  | }], | 
|  | itemStyle: item1 | 
|  | }, { | 
|  | value: 9, | 
|  | children: [{ | 
|  | value: 4, | 
|  | children: [{ | 
|  | value: 2, | 
|  | itemStyle: item2 | 
|  | }, { | 
|  | children: [{ | 
|  | value: 1, | 
|  | itemStyle: item1 | 
|  | }] | 
|  | }], | 
|  | itemStyle: item1 | 
|  | }, { | 
|  | children: [{ | 
|  | value: 3, | 
|  | children: [{ | 
|  | value: 1 | 
|  | }, { | 
|  | value: 1, | 
|  | itemStyle: item2 | 
|  | }] | 
|  | }], | 
|  | itemStyle: item3 | 
|  | }], | 
|  | itemStyle: item2 | 
|  | }, { | 
|  | value: 7, | 
|  | children: [{ | 
|  | children: [{ | 
|  | value: 1, | 
|  | itemStyle: item3 | 
|  | }, { | 
|  | value: 3, | 
|  | children: [{ | 
|  | value: 1, | 
|  | itemStyle: item2 | 
|  | }, { | 
|  | value: 1 | 
|  | }], | 
|  | itemStyle: item2 | 
|  | }, { | 
|  | value: 2, | 
|  | children: [{ | 
|  | value: 1 | 
|  | }, { | 
|  | value: 1, | 
|  | itemStyle: item1 | 
|  | }], | 
|  | itemStyle: item1 | 
|  | }], | 
|  | itemStyle: item3 | 
|  | }], | 
|  | itemStyle: item1 | 
|  | }, { | 
|  | children: [{ | 
|  | value: 6, | 
|  | children: [{ | 
|  | value: 1, | 
|  | itemStyle: item2 | 
|  | }, { | 
|  | value: 2, | 
|  | children: [{ | 
|  | value: 2, | 
|  | itemStyle: item2 | 
|  | }], | 
|  | itemStyle: item1 | 
|  | }, { | 
|  | value: 1, | 
|  | itemStyle: item3 | 
|  | }], | 
|  | itemStyle: item3 | 
|  | }, { | 
|  | value: 3, | 
|  | children: [{ | 
|  | value: 1, | 
|  | }, { | 
|  | children: [{ | 
|  | value: 1, | 
|  | itemStyle: item2 | 
|  | }] | 
|  | }, { | 
|  | value: 1 | 
|  | }], | 
|  | itemStyle: item3 | 
|  | }], | 
|  | itemStyle: item1 | 
|  | }]; | 
|  |  | 
|  | function makeTreemapOption() { | 
|  | return { | 
|  | series: { | 
|  | type: 'treemap', | 
|  | id: 'main', | 
|  | data, | 
|  | animationDurationUpdate: ANIMATION_DURATION_UPDATE, | 
|  | roam: false, | 
|  | breadcrumb: { | 
|  | show: false | 
|  | }, | 
|  | universalTransition: true, | 
|  | itemStyle: { | 
|  | color: '#ddd', | 
|  | borderWidth: 2 | 
|  | } | 
|  | } | 
|  | }; | 
|  | } | 
|  |  | 
|  | function makeSunburstOption() { | 
|  | return { | 
|  | series: { | 
|  | radius: ['15%', '80%'], | 
|  | type: 'sunburst', | 
|  | id: 'main', | 
|  | data, | 
|  | animationDurationUpdate: ANIMATION_DURATION_UPDATE, | 
|  | universalTransition: true, | 
|  | clockwise: true, | 
|  | itemStyle: { | 
|  | color: '#ddd', | 
|  | borderWidth: 2 | 
|  | } | 
|  | } | 
|  | }; | 
|  | } | 
|  |  | 
|  | var chart = testHelper.create(echarts, 'main2', { | 
|  | title: [ | 
|  | 'Convert between treemap, sunburst' | 
|  | ], | 
|  | recordVideo: true, | 
|  | // height: 300, | 
|  | buttons: [{ | 
|  | text: 'Treemap', | 
|  | onclick: function () { | 
|  | chart.setOption(makeTreemapOption()); | 
|  | } | 
|  | }, { | 
|  | text: 'Sunburst', | 
|  | onclick: function () { | 
|  | chart.setOption(makeSunburstOption()); | 
|  | } | 
|  | }], | 
|  | option: makeTreemapOption() | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  | <script> | 
|  | require([ | 
|  | 'echarts' | 
|  | ], function (echarts) { | 
|  | var pathSymbols = { | 
|  | reindeer: 'path://M-22.788,24.521c2.08-0.986,3.611-3.905,4.984-5.892 c-2.686,2.782-5.047,5.884-9.102,7.312c-0.992,0.005-0.25-2.016,0.34-2.362l1.852-0.41c0.564-0.218,0.785-0.842,0.902-1.347 c2.133-0.727,4.91-4.129,6.031-6.194c1.748-0.7,4.443-0.679,5.734-2.293c1.176-1.468,0.393-3.992,1.215-6.557 c0.24-0.754,0.574-1.581,1.008-2.293c-0.611,0.011-1.348-0.061-1.959-0.608c-1.391-1.245-0.785-2.086-1.297-3.313 c1.684,0.744,2.5,2.584,4.426,2.586C-8.46,3.012-8.255,2.901-8.04,2.824c6.031-1.952,15.182-0.165,19.498-3.937 c1.15-3.933-1.24-9.846-1.229-9.938c0.008-0.062-1.314-0.004-1.803-0.258c-1.119-0.771-6.531-3.75-0.17-3.33 c0.314-0.045,0.943,0.259,1.439,0.435c-0.289-1.694-0.92-0.144-3.311-1.946c0,0-1.1-0.855-1.764-1.98 c-0.836-1.09-2.01-2.825-2.992-4.031c-1.523-2.476,1.367,0.709,1.816,1.108c1.768,1.704,1.844,3.281,3.232,3.983 c0.195,0.203,1.453,0.164,0.926-0.468c-0.525-0.632-1.367-1.278-1.775-2.341c-0.293-0.703-1.311-2.326-1.566-2.711 c-0.256-0.384-0.959-1.718-1.67-2.351c-1.047-1.187-0.268-0.902,0.521-0.07c0.789,0.834,1.537,1.821,1.672,2.023 c0.135,0.203,1.584,2.521,1.725,2.387c0.102-0.259-0.035-0.428-0.158-0.852c-0.125-0.423-0.912-2.032-0.961-2.083 c-0.357-0.852-0.566-1.908-0.598-3.333c0.4-2.375,0.648-2.486,0.549-0.705c0.014,1.143,0.031,2.215,0.602,3.247 c0.807,1.496,1.764,4.064,1.836,4.474c0.561,3.176,2.904,1.749,2.281-0.126c-0.068-0.446-0.109-2.014-0.287-2.862 c-0.18-0.849-0.219-1.688-0.113-3.056c0.066-1.389,0.232-2.055,0.277-2.299c0.285-1.023,0.4-1.088,0.408,0.135 c-0.059,0.399-0.131,1.687-0.125,2.655c0.064,0.642-0.043,1.768,0.172,2.486c0.654,1.928-0.027,3.496,1,3.514 c1.805-0.424,2.428-1.218,2.428-2.346c-0.086-0.704-0.121-0.843-0.031-1.193c0.221-0.568,0.359-0.67,0.312-0.076 c-0.055,0.287,0.031,0.533,0.082,0.794c0.264,1.197,0.912,0.114,1.283-0.782c0.15-0.238,0.539-2.154,0.545-2.522 c-0.023-0.617,0.285-0.645,0.309,0.01c0.064,0.422-0.248,2.646-0.205,2.334c-0.338,1.24-1.105,3.402-3.379,4.712 c-0.389,0.12-1.186,1.286-3.328,2.178c0,0,1.729,0.321,3.156,0.246c1.102-0.19,3.707-0.027,4.654,0.269 c1.752,0.494,1.531-0.053,4.084,0.164c2.26-0.4,2.154,2.391-1.496,3.68c-2.549,1.405-3.107,1.475-2.293,2.984 c3.484,7.906,2.865,13.183,2.193,16.466c2.41,0.271,5.732-0.62,7.301,0.725c0.506,0.333,0.648,1.866-0.457,2.86 c-4.105,2.745-9.283,7.022-13.904,7.662c-0.977-0.194,0.156-2.025,0.803-2.247l1.898-0.03c0.596-0.101,0.936-0.669,1.152-1.139 c3.16-0.404,5.045-3.775,8.246-4.818c-4.035-0.718-9.588,3.981-12.162,1.051c-5.043,1.423-11.449,1.84-15.895,1.111 c-3.105,2.687-7.934,4.021-12.115,5.866c-3.271,3.511-5.188,8.086-9.967,10.414c-0.986,0.119-0.48-1.974,0.066-2.385l1.795-0.618 C-22.995,25.682-22.849,25.035-22.788,24.521z', | 
|  | plane: 'path://M1.112,32.559l2.998,1.205l-2.882,2.268l-2.215-0.012L1.112,32.559z M37.803,23.96 c0.158-0.838,0.5-1.509,0.961-1.904c-0.096-0.037-0.205-0.071-0.344-0.071c-0.777-0.005-2.068-0.009-3.047-0.009 c-0.633,0-1.217,0.066-1.754,0.18l2.199,1.804H37.803z M39.738,23.036c-0.111,0-0.377,0.325-0.537,0.924h1.076 C40.115,23.361,39.854,23.036,39.738,23.036z M39.934,39.867c-0.166,0-0.674,0.705-0.674,1.986s0.506,1.986,0.674,1.986 s0.672-0.705,0.672-1.986S40.102,39.867,39.934,39.867z M38.963,38.889c-0.098-0.038-0.209-0.07-0.348-0.073 c-0.082,0-0.174,0-0.268-0.001l-7.127,4.671c0.879,0.821,2.42,1.417,4.348,1.417c0.979,0,2.27-0.006,3.047-0.01 c0.139,0,0.25-0.034,0.348-0.072c-0.646-0.555-1.07-1.643-1.07-2.967C37.891,40.529,38.316,39.441,38.963,38.889z M32.713,23.96 l-12.37-10.116l-4.693-0.004c0,0,4,8.222,4.827,10.121H32.713z M59.311,32.374c-0.248,2.104-5.305,3.172-8.018,3.172H39.629 l-25.325,16.61L9.607,52.16c0,0,6.687-8.479,7.95-10.207c1.17-1.6,3.019-3.699,3.027-6.407h-2.138 c-5.839,0-13.816-3.789-18.472-5.583c-2.818-1.085-2.396-4.04-0.031-4.04h0.039l-3.299-11.371h3.617c0,0,4.352,5.696,5.846,7.5 c2,2.416,4.503,3.678,8.228,3.87h30.727c2.17,0,4.311,0.417,6.252,1.046c3.49,1.175,5.863,2.7,7.199,4.027 C59.145,31.584,59.352,32.025,59.311,32.374z M22.069,30.408c0-0.815-0.661-1.475-1.469-1.475c-0.812,0-1.471,0.66-1.471,1.475 s0.658,1.475,1.471,1.475C21.408,31.883,22.069,31.224,22.069,30.408z M27.06,30.408c0-0.815-0.656-1.478-1.466-1.478 c-0.812,0-1.471,0.662-1.471,1.478s0.658,1.477,1.471,1.477C26.404,31.885,27.06,31.224,27.06,30.408z M32.055,30.408 c0-0.815-0.66-1.475-1.469-1.475c-0.808,0-1.466,0.66-1.466,1.475s0.658,1.475,1.466,1.475 C31.398,31.883,32.055,31.224,32.055,30.408z M37.049,30.408c0-0.815-0.658-1.478-1.467-1.478c-0.812,0-1.469,0.662-1.469,1.478 s0.656,1.477,1.469,1.477C36.389,31.885,37.049,31.224,37.049,30.408z M42.039,30.408c0-0.815-0.656-1.478-1.465-1.478 c-0.811,0-1.469,0.662-1.469,1.478s0.658,1.477,1.469,1.477C41.383,31.885,42.039,31.224,42.039,30.408z M55.479,30.565 c-0.701-0.436-1.568-0.896-2.627-1.347c-0.613,0.289-1.551,0.476-2.73,0.476c-1.527,0-1.639,2.263,0.164,2.316 C52.389,32.074,54.627,31.373,55.479,30.565z', | 
|  | train: 'path://M67.335,33.596L67.335,33.596c-0.002-1.39-1.153-3.183-3.328-4.218h-9.096v-2.07h5.371 c-4.939-2.07-11.199-4.141-14.89-4.141H19.72v12.421v5.176h38.373c4.033,0,8.457-1.035,9.142-5.176h-0.027 c0.076-0.367,0.129-0.751,0.129-1.165L67.335,33.596L67.335,33.596z M27.999,30.413h-3.105v-4.141h3.105V30.413z M35.245,30.413 h-3.104v-4.141h3.104V30.413z M42.491,30.413h-3.104v-4.141h3.104V30.413z M49.736,30.413h-3.104v-4.141h3.104V30.413z  M14.544,40.764c1.143,0,2.07-0.927,2.07-2.07V35.59V25.237c0-1.145-0.928-2.07-2.07-2.07H-9.265c-1.143,0-2.068,0.926-2.068,2.07 v10.351v3.105c0,1.144,0.926,2.07,2.068,2.07H14.544L14.544,40.764z M8.333,26.272h3.105v4.141H8.333V26.272z M1.087,26.272h3.105 v4.141H1.087V26.272z M-6.159,26.272h3.105v4.141h-3.105V26.272z M-9.265,41.798h69.352v1.035H-9.265V41.798z', | 
|  | ship: 'path://M16.678,17.086h9.854l-2.703,5.912c5.596,2.428,11.155,5.575,16.711,8.607c3.387,1.847,6.967,3.75,10.541,5.375 v-6.16l-4.197-2.763v-5.318L33.064,12.197h-11.48L20.43,15.24h-4.533l-1.266,3.286l0.781,0.345L16.678,17.086z M49.6,31.84 l0.047,1.273L27.438,20.998l0.799-1.734L49.6,31.84z M33.031,15.1l12.889,8.82l0.027,0.769L32.551,16.1L33.031,15.1z M22.377,14.045 h9.846l-1.539,3.365l-2.287-1.498h1.371l0.721-1.352h-2.023l-0.553,1.037l-0.541-0.357h-0.34l0.359-0.684h-2.025l-0.361,0.684 h-3.473L22.377,14.045z M23.695,20.678l-0.004,0.004h0.004V20.678z M24.828,18.199h-2.031l-0.719,1.358h2.029L24.828,18.199z  M40.385,34.227c-12.85-7.009-25.729-14.667-38.971-12.527c1.26,8.809,9.08,16.201,8.213,24.328 c-0.553,4.062-3.111,0.828-3.303,7.137c15.799,0,32.379,0,48.166,0l0.066-4.195l1.477-7.23 C50.842,39.812,45.393,36.961,40.385,34.227z M13.99,35.954c-1.213,0-2.195-1.353-2.195-3.035c0-1.665,0.98-3.017,2.195-3.017 c1.219,0,2.195,1.352,2.195,3.017C16.186,34.604,15.213,35.954,13.99,35.954z M23.691,20.682h-2.02l-0.588,1.351h2.023 L23.691,20.682z M19.697,18.199l-0.721,1.358h2.025l0.727-1.358H19.697z', | 
|  | car: 'path://M49.592,40.883c-0.053,0.354-0.139,0.697-0.268,0.963c-0.232,0.475-0.455,0.519-1.334,0.475 c-1.135-0.053-2.764,0-4.484,0.068c0,0.476,0.018,0.697,0.018,0.697c0.111,1.299,0.697,1.342,0.931,1.342h3.7 c0.326,0,0.628,0,0.861-0.154c0.301-0.196,0.43-0.772,0.543-1.78c0.017-0.146,0.025-0.336,0.033-0.56v-0.01 c0-0.068,0.008-0.154,0.008-0.25V41.58l0,0C49.6,41.348,49.6,41.09,49.592,40.883L49.592,40.883z M6.057,40.883 c0.053,0.354,0.137,0.697,0.268,0.963c0.23,0.475,0.455,0.519,1.334,0.475c1.137-0.053,2.762,0,4.484,0.068 c0,0.476-0.018,0.697-0.018,0.697c-0.111,1.299-0.697,1.342-0.93,1.342h-3.7c-0.328,0-0.602,0-0.861-0.154 c-0.309-0.18-0.43-0.772-0.541-1.78c-0.018-0.146-0.027-0.336-0.035-0.56v-0.01c0-0.068-0.008-0.154-0.008-0.25V41.58l0,0 C6.057,41.348,6.057,41.09,6.057,40.883L6.057,40.883z M49.867,32.766c0-2.642-0.344-5.224-0.482-5.507 c-0.104-0.207-0.766-0.749-2.271-1.773c-1.522-1.042-1.487-0.887-1.766-1.566c0.25-0.078,0.492-0.224,0.639-0.241 c0.326-0.034,0.345,0.274,1.023,0.274c0.68,0,2.152-0.18,2.453-0.48c0.301-0.303,0.396-0.405,0.396-0.672 c0-0.268-0.156-0.818-0.447-1.146c-0.293-0.327-1.541-0.49-2.273-0.585c-0.729-0.095-0.834,0-1.022,0.121 c-0.304,0.189-0.32,1.919-0.32,1.919l-0.713,0.018c-0.465-1.146-1.11-3.452-2.117-5.269c-1.103-1.979-2.256-2.599-2.737-2.754 c-0.474-0.146-0.904-0.249-4.131-0.576c-3.298-0.344-5.922-0.388-8.262-0.388c-2.342,0-4.967,0.052-8.264,0.388 c-3.229,0.336-3.66,0.43-4.133,0.576s-1.633,0.775-2.736,2.754c-1.006,1.816-1.652,4.123-2.117,5.269L9.87,23.109 c0,0-0.008-1.729-0.318-1.919c-0.189-0.121-0.293-0.225-1.023-0.121c-0.732,0.104-1.98,0.258-2.273,0.585 c-0.293,0.327-0.447,0.878-0.447,1.146c0,0.267,0.094,0.379,0.396,0.672c0.301,0.301,1.773,0.48,2.453,0.48 c0.68,0,0.697-0.309,1.023-0.274c0.146,0.018,0.396,0.163,0.637,0.241c-0.283,0.68-0.24,0.524-1.764,1.566 c-1.506,1.033-2.178,1.566-2.271,1.773c-0.139,0.283-0.482,2.865-0.482,5.508s0.189,5.02,0.189,5.86c0,0.354,0,0.976,0.076,1.565 c0.053,0.354,0.129,0.697,0.268,0.966c0.232,0.473,0.447,0.516,1.334,0.473c1.137-0.051,2.779,0,4.477,0.07 c1.135,0.043,2.297,0.086,3.33,0.11c2.582,0.051,1.826-0.379,2.928-0.36c1.102,0.016,5.447,0.196,9.424,0.196 c3.976,0,8.332-0.182,9.423-0.196c1.102-0.019,0.346,0.411,2.926,0.36c1.033-0.018,2.195-0.067,3.332-0.11 c1.695-0.062,3.348-0.121,4.477-0.07c0.886,0.043,1.103,0,1.332-0.473c0.132-0.269,0.218-0.611,0.269-0.966 c0.086-0.592,0.078-1.213,0.078-1.565C49.678,37.793,49.867,35.408,49.867,32.766L49.867,32.766z M13.219,19.735 c0.412-0.964,1.652-2.9,2.256-3.244c0.145-0.087,1.426-0.491,4.637-0.706c2.953-0.198,6.217-0.276,7.73-0.276 c1.513,0,4.777,0.078,7.729,0.276c3.201,0.215,4.502,0.611,4.639,0.706c0.775,0.533,1.842,2.28,2.256,3.244 c0.412,0.965,0.965,2.858,0.861,3.116c-0.104,0.258,0.104,0.388-1.291,0.275c-1.387-0.103-10.088-0.216-14.185-0.216 c-4.088,0-12.789,0.113-14.184,0.216c-1.395,0.104-1.188-0.018-1.291-0.275C12.254,22.593,12.805,20.708,13.219,19.735 L13.219,19.735z M16.385,30.511c-0.619,0.155-0.988,0.491-1.764,0.482c-0.775,0-2.867-0.353-3.314-0.371 c-0.447-0.017-0.842,0.302-1.076,0.362c-0.23,0.06-0.688-0.104-1.377-0.318c-0.688-0.216-1.092-0.155-1.316-1.094 c-0.232-0.93,0-2.264,0-2.264c1.488-0.068,2.928,0.069,5.621,0.826c2.693,0.758,4.191,2.213,4.191,2.213 S17.004,30.357,16.385,30.511L16.385,30.511z M36.629,37.293c-1.23,0.164-6.386,0.207-8.794,0.207c-2.412,0-7.566-0.051-8.799-0.207 c-1.256-0.164-2.891-1.67-1.764-2.865c1.523-1.627,1.24-1.576,4.701-2.023C24.967,32.018,27.239,32,27.834,32 c0.584,0,2.865,0.025,5.859,0.404c3.461,0.447,3.178,0.396,4.699,2.022C39.521,35.623,37.887,37.129,36.629,37.293L36.629,37.293z  M48.129,29.582c-0.232,0.93-0.629,0.878-1.318,1.093c-0.688,0.216-1.145,0.371-1.377,0.319c-0.231-0.053-0.627-0.371-1.074-0.361 c-0.448,0.018-2.539,0.37-3.313,0.37c-0.772,0-1.146-0.328-1.764-0.481c-0.621-0.154-0.966-0.154-0.966-0.154 s1.49-1.464,4.191-2.213c2.693-0.758,4.131-0.895,5.621-0.826C48.129,27.309,48.361,28.643,48.129,29.582L48.129,29.582z' | 
|  | }; | 
|  |  | 
|  | var labelSetting = { | 
|  | show: true, | 
|  | position: 'right', | 
|  | offset: [10, 0], | 
|  | textStyle: { | 
|  | fontSize: 16 | 
|  | } | 
|  | }; | 
|  |  | 
|  | function makeOption(type, symbol) { | 
|  | return { | 
|  | title: { | 
|  | text: 'Vehicles in X City' | 
|  | }, | 
|  | legend: { | 
|  | data: ['2015', '2016'] | 
|  | }, | 
|  | tooltip: { | 
|  | trigger: 'axis', | 
|  | axisPointer: { | 
|  | type: 'shadow' | 
|  | } | 
|  | }, | 
|  | grid: { | 
|  | containLabel: true, | 
|  | left: 20 | 
|  | }, | 
|  | yAxis: { | 
|  | data: ['reindeer', 'ship', 'plane', 'train', 'car'], | 
|  | inverse: true, | 
|  | axisLine: {show: false}, | 
|  | axisTick: {show: false}, | 
|  | axisLabel: { | 
|  | margin: 30, | 
|  | fontSize: 14 | 
|  | }, | 
|  | axisPointer: { | 
|  | label: { | 
|  | show: true, | 
|  | margin: 30 | 
|  | } | 
|  | } | 
|  | }, | 
|  | xAxis: { | 
|  | splitLine: {show: false}, | 
|  | axisLabel: {show: false}, | 
|  | axisTick: {show: false}, | 
|  | axisLine: {show: false} | 
|  | }, | 
|  | animationDurationUpdate: ANIMATION_DURATION_UPDATE, | 
|  | series: [{ | 
|  | name: '2015', | 
|  | id: 'bar1', | 
|  | type, | 
|  | label: labelSetting, | 
|  | symbolRepeat: true, | 
|  | symbolSize: ['80%', '60%'], | 
|  | barCategoryGap: '40%', | 
|  | animationDelayUpdate(idx) { | 
|  | return idx * 500; | 
|  | }, | 
|  | universalTransition: { | 
|  | enabled: true, | 
|  | delay(idx, total) { | 
|  | return (idx  / total) * 1000; | 
|  | } | 
|  | }, | 
|  | data: [{ | 
|  | value: 157, | 
|  | symbol: symbol || pathSymbols.reindeer | 
|  | }, { | 
|  | value: 21, | 
|  | symbol: symbol || pathSymbols.ship | 
|  | }, { | 
|  | value: 66, | 
|  | symbol: symbol || pathSymbols.plane | 
|  | }, { | 
|  | value: 78, | 
|  | symbol: symbol || pathSymbols.train | 
|  | }, { | 
|  | value: 123, | 
|  | symbol: symbol || pathSymbols.car | 
|  | }] | 
|  | }, { | 
|  | name: '2016', | 
|  | id: 'bar2', | 
|  | type, | 
|  | barGap: '10%', | 
|  | label: labelSetting, | 
|  | symbolRepeat: true, | 
|  | symbolSize: ['80%', '60%'], | 
|  | animationDelayUpdate(idx) { | 
|  | return idx * 500; | 
|  | }, | 
|  | universalTransition: { | 
|  | enabled: true, | 
|  | delay(idx, total) { | 
|  | return (idx  / total) * 1000; | 
|  | } | 
|  | }, | 
|  | data: [{ | 
|  | value: 184, | 
|  | symbol: symbol || pathSymbols.reindeer | 
|  | }, { | 
|  | value: 29, | 
|  | symbol: symbol || pathSymbols.ship | 
|  | }, { | 
|  | value: 73, | 
|  | symbol: symbol || pathSymbols.plane | 
|  | }, { | 
|  | value: 91, | 
|  | symbol: symbol || pathSymbols.train | 
|  | }, { | 
|  | value: 95, | 
|  | symbol: symbol || pathSymbols.car | 
|  | }] | 
|  | }] | 
|  | }; | 
|  | } | 
|  |  | 
|  | var chart = testHelper.create(echarts, 'main3', { | 
|  | title: [ | 
|  | 'Convert between bar, pictorialBar' | 
|  | ], | 
|  | recordVideo: true, | 
|  | height: 600, | 
|  | buttons: [{ | 
|  | text: 'Bar', | 
|  | onclick: function () { | 
|  | chart.setOption(makeOption('bar')); | 
|  | } | 
|  | }, { | 
|  | text: 'Pictorial Bar', | 
|  | onclick: function () { | 
|  | chart.setOption(makeOption('pictorialBar')); | 
|  | } | 
|  | }, { | 
|  | text: 'Pictorial Bar (Diamond)', | 
|  | onclick: function () { | 
|  | chart.setOption(makeOption('pictorialBar', 'diamond')); | 
|  | } | 
|  | }], | 
|  | option: makeOption('bar') | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  | <script> | 
|  | require([ | 
|  | 'echarts', | 
|  | 'data/usa.json' | 
|  | ], function (echarts, geojson) { | 
|  |  | 
|  | echarts.registerMap('USA', geojson, { | 
|  | Alaska: {              // 把阿拉斯加移到美国主大陆左下方 | 
|  | left: -131, | 
|  | top: 25, | 
|  | width: 15 | 
|  | }, | 
|  | Hawaii: { | 
|  | left: -110,        // 夏威夷 | 
|  | top: 28, | 
|  | width: 5 | 
|  | }, | 
|  | 'Puerto Rico': {       // 波多黎各 | 
|  | left: -76, | 
|  | top: 26, | 
|  | width: 2 | 
|  | } | 
|  | }); | 
|  |  | 
|  | const data = [ | 
|  | {name: 'Alabama', value: 4822023}, | 
|  | {name: 'Alaska', value: 731449}, | 
|  | {name: 'Arizona', value: 6553255}, | 
|  | {name: 'Arkansas', value: 2949131}, | 
|  | {name: 'California', value: 38041430}, | 
|  | {name: 'Colorado', value: 5187582}, | 
|  | {name: 'Connecticut', value: 3590347}, | 
|  | {name: 'Delaware', value: 917092}, | 
|  | {name: 'District of Columbia', value: 632323}, | 
|  | {name: 'Florida', value: 19317568}, | 
|  | {name: 'Georgia', value: 9919945}, | 
|  | {name: 'Hawaii', value: 1392313}, | 
|  | {name: 'Idaho', value: 1595728}, | 
|  | {name: 'Illinois', value: 12875255}, | 
|  | {name: 'Indiana', value: 6537334}, | 
|  | {name: 'Iowa', value: 3074186}, | 
|  | {name: 'Kansas', value: 2885905}, | 
|  | {name: 'Kentucky', value: 4380415}, | 
|  | {name: 'Louisiana', value: 4601893}, | 
|  | {name: 'Maine', value: 1329192}, | 
|  | {name: 'Maryland', value: 5884563}, | 
|  | {name: 'Massachusetts', value: 6646144}, | 
|  | {name: 'Michigan', value: 9883360}, | 
|  | {name: 'Minnesota', value: 5379139}, | 
|  | {name: 'Mississippi', value: 2984926}, | 
|  | {name: 'Missouri', value: 6021988}, | 
|  | {name: 'Montana', value: 1005141}, | 
|  | {name: 'Nebraska', value: 1855525}, | 
|  | {name: 'Nevada', value: 2758931}, | 
|  | {name: 'New Hampshire', value: 1320718}, | 
|  | {name: 'New Jersey', value: 8864590}, | 
|  | {name: 'New Mexico', value: 2085538}, | 
|  | {name: 'New York', value: 19570261}, | 
|  | {name: 'North Carolina', value: 9752073}, | 
|  | {name: 'North Dakota', value: 699628}, | 
|  | {name: 'Ohio', value: 11544225}, | 
|  | {name: 'Oklahoma', value: 3814820}, | 
|  | {name: 'Oregon', value: 3899353}, | 
|  | {name: 'Pennsylvania', value: 12763536}, | 
|  | {name: 'Rhode Island', value: 1050292}, | 
|  | {name: 'South Carolina', value: 4723723}, | 
|  | {name: 'South Dakota', value: 833354}, | 
|  | {name: 'Tennessee', value: 6456243}, | 
|  | {name: 'Texas', value: 26059203}, | 
|  | {name: 'Utah', value: 2855287}, | 
|  | {name: 'Vermont', value: 626011}, | 
|  | {name: 'Virginia', value: 8185867}, | 
|  | {name: 'Washington', value: 6897012}, | 
|  | {name: 'West Virginia', value: 1855413}, | 
|  | {name: 'Wisconsin', value: 5726398}, | 
|  | {name: 'Wyoming', value: 576412}, | 
|  | {name: 'Puerto Rico', value: 3667084} | 
|  | ]; | 
|  | function makeMapOption() { | 
|  | return { | 
|  | visualMap: { | 
|  | min: 500000, | 
|  | max: 38000000, | 
|  | inRange: { | 
|  | color: ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'] | 
|  | }, | 
|  | text: ['High', 'Low'],           // 文本,默认为数值文本 | 
|  | calculable: true | 
|  | }, | 
|  | animationDurationUpdate: ANIMATION_DURATION_UPDATE, | 
|  | series: { | 
|  | type: 'map', | 
|  | id: 'main', | 
|  | map: 'USA', | 
|  | data, | 
|  | universalTransition: true | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | function makeBarOption() { | 
|  | return { | 
|  | xAxis: { | 
|  | type: 'category', | 
|  | axisLabel: { | 
|  | rotate: 30 | 
|  | }, | 
|  | data: data.map(item => item.name) | 
|  | }, | 
|  | yAxis: { | 
|  | }, | 
|  | animationDurationUpdate: ANIMATION_DURATION_UPDATE, | 
|  | series: { | 
|  | type: 'bar', | 
|  | id: 'main', | 
|  | data: data.map(item => item.value), | 
|  | universalTransition: true | 
|  | } | 
|  | } | 
|  | } | 
|  | var chart = testHelper.create(echarts, 'main4', { | 
|  | title: [ | 
|  | 'Convert between bar, map', | 
|  | 'This case also enables lazyUpdate and setOption multiple times. Check if transition is correct.' | 
|  | ], | 
|  | recordVideo: true, | 
|  | height: 600, | 
|  | buttons: [{ | 
|  | text: 'Map', | 
|  | onclick: function () { | 
|  | // Set option multiple times. Check if transition is correct. | 
|  | chart.setOption(makeMapOption(), true, true); | 
|  | chart.setOption(makeBarOption(), true, true); | 
|  | chart.setOption(makeMapOption(), true, true); | 
|  | } | 
|  | }, { | 
|  | text: 'Bar', | 
|  | onclick: function () { | 
|  | chart.setOption(makeBarOption(), true, true); | 
|  | chart.setOption(makeMapOption(), true, true); | 
|  | chart.setOption(makeBarOption(), true, true); | 
|  | } | 
|  | }], | 
|  | option: makeBarOption() | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  |  | 
|  | <script> | 
|  | require([ | 
|  | 'echarts' | 
|  | ], function (echarts) { | 
|  | var option = { | 
|  | tooltip: { | 
|  | trigger: 'item' | 
|  | }, | 
|  | legend: { | 
|  | top: '5%', | 
|  | left: 'center' | 
|  | }, | 
|  | series: [ | 
|  | { | 
|  | name: '访问来源', | 
|  | type: 'pie', | 
|  | radius: ['40%', '70%'], | 
|  | avoidLabelOverlap: false, | 
|  | itemStyle: { | 
|  | borderRadius: 10, | 
|  | borderColor: '#fff', | 
|  | borderWidth: 2 | 
|  | }, | 
|  | label: { | 
|  | show: false, | 
|  | position: 'center' | 
|  | }, | 
|  | universalTransition: true, | 
|  | animationDurationUpdate: ANIMATION_DURATION_UPDATE, | 
|  | data: [ | 
|  | {value: 1048, name: '搜索引擎'}, | 
|  | {value: 735, name: '直接访问'}, | 
|  | {value: 580, name: '邮件营销'}, | 
|  | {value: 484, name: '联盟广告'}, | 
|  | {value: 300, name: '视频广告'} | 
|  | ] | 
|  | } | 
|  | ] | 
|  | }; | 
|  | var chart = testHelper.create(echarts, 'main5', { | 
|  | title: [ | 
|  | 'Style should be animated in same series.' | 
|  | ], | 
|  | recordVideo: true, | 
|  | buttons: [{ | 
|  | text: 'random style', | 
|  | onclick: function () { | 
|  | chart.setOption({ | 
|  | color: [1, 2, 3, 4, 5].map(item => echarts.color.random()), | 
|  | series: [{ | 
|  | itemStyle: { | 
|  | borderColor: echarts.color.random(), | 
|  | borderWidth: Math.random() * 5 + 1 | 
|  | } | 
|  | }] | 
|  | }) | 
|  | } | 
|  | }], | 
|  | option: option | 
|  | }); | 
|  | }); | 
|  | </script> | 
|  | </body> | 
|  | </html> | 
|  |  |