| <!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> |
| table { |
| padding: 20px; |
| } |
| tr { |
| padding: 5px; |
| } |
| </style> |
| |
| |
| |
| <div id="main0"></div> |
| <div id="main1"></div> |
| <div id="main2"></div> |
| |
| <table> |
| <tr> |
| <td> |
| <button onclick="randAll()">Random All</button> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| symbolSize |
| </td> |
| <td> |
| <input type="range" min="0" max="1" value="1" step="0.01" id="symbolSize-range"> |
| <label id="symbolSize-label">1</label> |
| </td> |
| <td> |
| <button onclick="rand('symbolSize', 0, 1)">Random</button> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| dashArrayX |
| </td> |
| <td> |
| <input type="range" min="0" max="50" value="10" id="dashArrayX-0-range"> |
| <input type="range" min="0" max="50" value="10" id="dashArrayX-1-range"> |
| <label id="dashArrayX-label">[10, 10]</label> |
| </td> |
| <td> |
| <button onclick="rand('dashArrayX-0', 0, 100)">Random</button> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| dashArrayY |
| </td> |
| <td> |
| <input type="range" min="0" max="50" value="10" id="dashArrayY-0-range"> |
| <input type="range" min="0" max="50" value="10" id="dashArrayY-1-range"> |
| <label id="dashArrayY-label">[10, 10]</label> |
| </td> |
| <td> |
| <button onclick="rand('dashArrayY-0', 0, 100)">Random</button> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| rotation |
| </td> |
| <td> |
| <input type="range" min="0" max="3.14" value="0" step="0.01" id="rotation-range"> |
| <label id="rotation-label">0</label> |
| </td> |
| <td> |
| <button onclick="rand('rotation', 0, 3.14)">Random</button> |
| </td> |
| </tr> |
| </table> |
| |
| |
| <div id="main-sankey"></div> |
| <div id="main-sunburst"></div> |
| <div id="main-treemap"></div> |
| <div id="main-custom-series"></div> |
| |
| <div id="main-fruit"></div> |
| <div id="main-newspaper"></div> |
| |
| |
| |
| <script> |
| require(['echarts'/*, 'map/js/china' */], function (echarts) { |
| var option; |
| var series = []; |
| var pieData = []; |
| var legendNames = []; |
| var itemStyle = { |
| decal: { |
| color: 'blue' |
| } |
| }; |
| for (var i = 0; i < 12; ++i) { |
| var s = { |
| name: 'bar' + i, |
| data: [i * 10 + 100], |
| type: 'bar' |
| }; |
| if (i === 0) { |
| s.itemStyle = itemStyle; |
| } |
| else if (i === 1) { |
| s.itemStyle = { |
| decal: { |
| symbol: 'none' |
| } |
| }; |
| } |
| else if (i === 2) { |
| s.data = [{ |
| value: s.data[0], |
| itemStyle: { |
| decal: { |
| symbol: 'none' |
| } |
| } |
| }]; |
| } |
| series.push(s); |
| |
| var p = { |
| name: 'pie' + i, |
| value: i * 5 + 10 |
| }; |
| pieData.push(p); |
| |
| legendNames.push('bar' + i, 'pie' + i); |
| } |
| series.push({ |
| type: 'pie', |
| center: ['75%', '50%'], |
| data: pieData, |
| radius: '50%' |
| }); |
| |
| option = { |
| legend: { |
| data: legendNames |
| }, |
| xAxis: { |
| type: 'category', |
| data: ['x'] |
| }, |
| yAxis: { |
| type: 'value' |
| }, |
| series: series, |
| grid: { |
| left: 50, |
| right: '40%' |
| }, |
| aria: { |
| decal: { |
| show: true |
| } |
| } |
| }; |
| |
| var chart = testHelper.create(echarts, 'main0', { |
| title: [ |
| 'It should use decal when aria.show is true', |
| '(1) Each bar and pie piece should have different decal', |
| '(2) The first bar and pie piece decal should be **blue**', |
| '(3) The second and third bar should not have decal' |
| ], |
| option: option |
| // height: 300, |
| // buttons: [{text: 'btn-txt', onclick: function () {}}], |
| // recordCanvas: true, |
| }); |
| }); |
| </script> |
| |
| |
| |
| <script> |
| require(['echarts'/*, 'map/js/china' */], function (echarts) { |
| var option; |
| var series = []; |
| var pieData = []; |
| var itemStyle = { |
| decal: { |
| color: 'blue', |
| symbol: [['rect', 'circle', 'triangle'], ['circle', 'none']] |
| } |
| }; |
| for (var i = 0; i < 6; ++i) { |
| var s = { |
| name: 'bar' + i, |
| data: [i * 10 + 100], |
| type: 'bar' |
| }; |
| if (i === 0) { |
| s.itemStyle = itemStyle; |
| s.emphasis = { |
| itemStyle: { |
| decal: { |
| color: 'red' |
| } |
| } |
| } |
| } |
| series.push(s); |
| |
| var p = { |
| name: 'pie' + i, |
| value: i * 5 + 10 |
| }; |
| if (i === 0) { |
| p.itemStyle = itemStyle; |
| p.emphasis = { |
| itemStyle: { |
| decal: { |
| color: 'red' |
| } |
| } |
| } |
| } |
| pieData.push(p); |
| } |
| series.push({ |
| type: 'pie', |
| center: ['75%', '50%'], |
| data: pieData, |
| radius: '50%' |
| }); |
| |
| option = { |
| xAxis: { |
| type: 'category', |
| data: ['x'] |
| }, |
| yAxis: { |
| type: 'value' |
| }, |
| series: series, |
| grid: { |
| left: 50, |
| right: '40%' |
| }, |
| aria: { |
| // no decal |
| } |
| }; |
| |
| var chart = testHelper.create(echarts, 'main1', { |
| title: [ |
| 'If aria is not enabled, decal can also be enabled', |
| '(1) Only the first bar and pie piece should use decal (be **blue**)', |
| '(2) `aria.label` should be in the HTML' |
| ], |
| option: option |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| |
| <script> |
| var option; |
| var decal = { |
| symbolSize: 1, |
| dashArrayX: [10, 10], |
| dashArrayY: [10, 10], |
| rotation: 0, |
| maxTileWidth: 256, |
| maxTileHeight: 256 |
| }; |
| |
| option = { |
| xAxis: { |
| type: 'category', |
| data: ['a', 'b'], |
| show: false |
| }, |
| yAxis: { |
| type: 'value', |
| show: false |
| }, |
| series: [{ |
| type: 'bar', |
| data: [70, 40], |
| itemStyle: { |
| decal: decal, |
| borderWidth: 20, |
| borderColor: '#ff0' |
| } |
| }, { |
| type: 'line', |
| data: [100, 80], |
| itemStyle: { |
| decal: decal, |
| borderWidth: 20, |
| borderColor: '#ff0' |
| }, |
| lineStyle: { |
| width: 20 |
| }, |
| symbol: 'circle', |
| symbolSize: 200 |
| }], |
| grid: { |
| left: 50, |
| right: 20 |
| }, |
| aria: { |
| enabled: true |
| }, |
| animation: false |
| }; |
| var chart; |
| require(['echarts'/*, 'map/js/china' */], function (echarts) { |
| |
| chart = testHelper.create(echarts, 'main2', { |
| title: [ |
| 'Change parameters and check if it goes into endless loop' |
| ], |
| option: option |
| }); |
| |
| ['symbolSize', 'dashArrayX-0', 'dashArrayX-1', 'dashArrayY-0', 'dashArrayY-1', 'rotation'].forEach(function (name) { |
| var input = document.getElementById(name + '-range'); |
| var nameSplit = name.split('-'); |
| var attrName = nameSplit[0]; |
| var idName = nameSplit[1]; |
| var label = document.getElementById(attrName + '-label'); |
| input.addEventListener('change', function (event) { |
| var value = event.target.value; |
| var labelText = +value; |
| var rangeValue = +value; |
| if (idName) { |
| var otherId = idName === '0' ? '1' : '0'; |
| var otherValue = document.getElementById(attrName + '-' + otherId + '-range').value; |
| labelText = idName === '0' |
| ? '[' + value + ', ' + otherValue + ']' |
| : '[' + otherValue + ', ' + value + ']'; |
| rangeValue = idName === '0' |
| ? [+value, +otherValue] |
| : [+otherValue, +value]; |
| } |
| label.innerText = labelText; |
| |
| decal[attrName] = rangeValue; |
| chart.setOption(option); |
| }); |
| }); |
| }); |
| |
| function rand(name, min, max) { |
| var n = Math.random() * (max - min) + min; |
| var value = max < 10 ? Math.floor(n * 100) / 100 : Math.floor(n); |
| |
| var nameSplit = name.split('-'); |
| var attrName = nameSplit[0]; |
| var idName = nameSplit[1]; |
| var labelText = value; |
| var rangeValue = value; |
| var label = document.getElementById(attrName + '-label'); |
| if (idName) { |
| var otherN = Math.random() * (max - min) + min; |
| var otherValue = max < 10 ? Math.floor(otherN * 100) / 100 : Math.floor(otherN); |
| document.getElementById(attrName + '-1-range').value = otherValue; |
| |
| labelText = idName === '0' |
| ? '[' + value + ', ' + otherValue + ']' |
| : '[' + otherValue + ', ' + value + ']'; |
| rangeValue = idName === '0' |
| ? [+value, +otherValue] |
| : [+otherValue, +value]; |
| } |
| label.innerText = labelText; |
| |
| var input = document.getElementById(name + '-range'); |
| input.value = value; |
| |
| decal[attrName] = rangeValue; |
| chart.setOption(option); |
| } |
| |
| function randAll() { |
| rand('symbolSize', 0, 1); |
| rand('dashArrayX-0', 0, 50); |
| rand('dashArrayY-0', 0, 50); |
| rand('rotation', 0, 3.14); |
| } |
| </script> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script> |
| require(['echarts'/*, 'map/js/china' */], function (echarts) { |
| |
| |
| var testData = { |
| nodes: [ |
| { |
| name: 'a', |
| itemStyle: { |
| decal: { |
| color: 'yellow' |
| } |
| } |
| }, |
| { |
| name: 'b', |
| depth: 2 |
| }, |
| { |
| name: 'a1', |
| depth: 4 |
| }, |
| { |
| name: 'b1' |
| }, |
| { |
| name: 'c', |
| depth: 3 |
| }, |
| { |
| name: 'e', |
| depth: 1 |
| } |
| ], |
| links: [ |
| { |
| source: 'a', |
| target: 'a1', |
| value: 5 |
| }, |
| { |
| source: 'e', |
| target: 'b', |
| value: 3 |
| }, |
| { |
| source: 'a', |
| target: 'b1', |
| value: 0 |
| }, |
| { |
| source: 'b1', |
| target: 'a1', |
| value: 1 |
| }, |
| { |
| source: 'b1', |
| target: 'c', |
| value: 3 |
| }, |
| { |
| source: 'b', |
| target: 'c', |
| value: 3 |
| } |
| ] |
| }; |
| |
| var option = { |
| aria: { |
| decal: { show: true } |
| }, |
| tooltip: { |
| trigger: 'item', |
| triggerOn: 'mousemove' |
| }, |
| animation: false, |
| series: [ |
| { |
| type: 'sankey', |
| bottom: '10%', |
| focusNodeAdjacency: true, |
| itemStyle: { |
| decal: { |
| color: 'blue' |
| } |
| }, |
| data: testData.nodes, |
| links: testData.links |
| } |
| ] |
| }; |
| |
| var chart = testHelper.create(echarts, 'main-sankey', { |
| title: [ |
| 'All sankey nodes should have decal (they are from palette)', |
| 'decal color of all except "a" is **blue** (they are from series.itemStyle)', |
| 'decal color of "a" is **yellow** (it is from dataItem.itemStyle)' |
| ], |
| option: option |
| }); |
| }); |
| </script> |
| |
| |
| |
| <script> |
| require(['echarts'/*, 'map/js/china' */], function (echarts) { |
| var data = [{ |
| children: [{ |
| value: 5, |
| children: [{ |
| value: 1 |
| }, { |
| value: 2, |
| children: [{ |
| value: 1 |
| }] |
| }, { |
| children: [{ |
| value: 1 |
| }] |
| }] |
| }, { |
| value: 10, |
| children: [{ |
| value: 6, |
| children: [{ |
| value: 1 |
| }, { |
| value: 1 |
| }, { |
| value: 1 |
| }, { |
| value: 1 |
| }] |
| }, { |
| value: 2, |
| children: [{ |
| value: 1 |
| }] |
| }, { |
| children: [{ |
| value: 1 |
| }] |
| }] |
| }] |
| }, { |
| value: 9, |
| children: [{ |
| value: 4, |
| children: [{ |
| value: 2 |
| }, { |
| children: [{ |
| value: 1 |
| }] |
| }] |
| }, { |
| children: [{ |
| value: 3, |
| children: [{ |
| value: 1 |
| }, { |
| value: 1 |
| }] |
| }] |
| }] |
| }, { |
| value: 7, |
| children: [{ |
| children: [{ |
| value: 1 |
| }, { |
| value: 3, |
| children: [{ |
| value: 1 |
| }, { |
| value: 1 |
| }] |
| }, { |
| value: 2, |
| children: [{ |
| value: 1 |
| }, { |
| value: 1 |
| }] |
| }] |
| }] |
| }, { |
| children: [{ |
| value: 6, |
| children: [{ |
| value: 1 |
| }, { |
| value: 2, |
| children: [{ |
| value: 2 |
| }] |
| }, { |
| value: 1 |
| }] |
| }, { |
| value: 3, |
| children: [{ |
| value: 1, |
| }, { |
| children: [{ |
| value: 1 |
| }] |
| }, { |
| value: 1 |
| }] |
| }] |
| }]; |
| |
| var option = { |
| aria: { |
| decal: { show: true } |
| }, |
| series: { |
| type: 'sunburst', |
| data: data |
| } |
| }; |
| |
| var chart = testHelper.create(echarts, 'main-sunburst', { |
| title: [ |
| 'All sunburst nodes should have decal (by 1st level) (they are from palette)' |
| ], |
| option: option |
| }); |
| }); |
| </script> |
| |
| |
| |
| <script> |
| require(['echarts'/*, 'map/js/china' */], function (echarts) { |
| var option = { |
| aria: { |
| decal: { show: true } |
| }, |
| series: [{ |
| name: 'tm', |
| type: 'treemap', |
| roam: false, |
| label: { |
| position: 'insideRight', |
| emphasis: { |
| show: true |
| } |
| }, |
| leafDepth: 1, |
| levels: [{ |
| itemStyle: { |
| borderColor: '#333', |
| borderWidth: 4, |
| gapWidth: 2 |
| } |
| }, { |
| itemStyle: { |
| borderColor: '#aaa', |
| gapWidth: 2, |
| borderWidth: 2 |
| }, |
| colorSaturation: [0.2, 0.7] |
| }], |
| data: [{ |
| name: 'a', |
| value: 10, |
| children: [{ |
| name: 'a1', |
| value: 11, |
| children: [{ |
| name: 'a11', |
| value: 111, |
| }, { |
| name: 'a111', |
| value: 1111 |
| }, { |
| name: 'a112', |
| value: 1111 |
| }, { |
| name: 'a113', |
| value: 111 |
| }, { |
| name: 'a114', |
| value: 111 |
| }, { |
| name: 'a115', |
| value: 1100 |
| }] |
| }] |
| }, { |
| name: 'b', |
| value: 6, |
| children: [{ |
| name: 'b1', |
| value: 15, |
| children: [{ |
| name: 'b11', |
| value: 120 |
| }] |
| }] |
| }] |
| }] |
| }; |
| |
| var chart = testHelper.create(echarts, 'main-treemap', { |
| title: [ |
| 'All treemap nodes should have decal (by 1st level) (they are from palette)' |
| ], |
| option: option |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| <script> |
| require(['echarts'/*, 'map/js/china' */], function (echarts) { |
| |
| function renderItem(params, api) { |
| var pos = api.coord([api.value(0), api.value(1)]); |
| var paletteColor = api.visual('color'); |
| var paletteDecal = api.visual('decal'); |
| if (params.dataIndex === 0) { |
| return { |
| type: 'group', |
| x: pos[0], |
| y: pos[1], |
| children: [{ |
| type: 'circle', |
| shape: { cx: 0, cy: 0, r: 30 }, |
| style: { |
| fill: 'orange', |
| decal: { |
| color: 'blue', |
| dashArrayX: [1, 0], |
| dashArrayY: [4, 3], |
| dashLineOffset: 0, |
| rotation: -Math.PI / 4 |
| } |
| } |
| }, { |
| type: 'circle', |
| shape: { cx: 60, cy: 0, r: 30 }, |
| style: { fill: 'orange' } |
| }] |
| } |
| } |
| else { |
| return { |
| type: 'group', |
| x: pos[0], |
| y: pos[1], |
| children: [{ |
| type: 'rect', |
| shape: { x: -20, y: -20, width: 40, height: 40 }, |
| style: { fill: paletteColor, decal: paletteDecal }, |
| }, { |
| type: 'rect', |
| shape: { x: 60 - 20, y: -20, width: 40, height: 40 }, |
| style: { fill: paletteColor, decal: paletteDecal }, |
| }] |
| } |
| } |
| } |
| |
| var option = { |
| xAxis: { |
| }, |
| yAxis: { |
| }, |
| series: [{ |
| type: 'custom', |
| renderItem: renderItem, |
| data: [ [11, 22], [55, 22] ] |
| }, { |
| type: 'custom', |
| renderItem: renderItem, |
| data: [ [11, 55], [55, 55] ] |
| }, { |
| type: 'custom', |
| renderItem: renderItem, |
| data: [ [11, 88], [55, 88] ] |
| }], |
| aria: { |
| decal: { |
| show: true |
| } |
| } |
| }; |
| |
| var chart = testHelper.create(echarts, 'main-custom-series', { |
| title: [ |
| 'All circle/rect should show decals.', |
| 'Circel should be in specified decal (in **blue**) and specified color (in **orange**).', |
| 'Rect should be in palette decal and palette color' |
| ], |
| option: option |
| // height: 300, |
| // buttons: [{text: 'btn-txt', onclick: function () {}}], |
| // recordCanvas: true, |
| }); |
| }); |
| </script> |
| |
| |
| |
| |
| <script> |
| require(['echarts'/*, 'map/js/china' */], function (echarts) { |
| |
| var d = 30; |
| var path = [ |
| 'M12.815,443.027 C28.577,427.267 54.221,427.267 69.981,443.027 C85.736,458.781 85.735,484.423 69.983,500.182 C54.221,515.938 28.574,515.938 12.817,500.187 C-2.939,484.424 -2.94,458.782 12.815,443.027 Z M98.66,335.96 C114.421,351.721 114.421,377.366 98.659,393.127 C82.905,408.881 57.263,408.88 41.505,393.129 C25.75,377.366 25.75,351.719 41.501,335.962 C57.264,320.206 82.905,320.205 98.66,335.96 Z M119.871,414.332 C135.633,398.575 161.275,398.575 177.029,414.33 C192.79,430.091 192.789,455.736 177.029,471.497 C161.275,487.251 135.633,487.25 119.875,471.499 C104.12,455.736 104.12,430.089 119.871,414.332 Z M226.928,385.633 C242.69,369.877 268.332,369.876 284.087,385.631 C299.848,401.392 299.847,427.037 284.087,442.798 C268.333,458.552 242.691,458.551 226.933,442.8 C211.177,427.037 211.177,401.39 226.928,385.633 Z M205.718,307.272 C221.479,323.032 221.479,348.677 205.718,364.439 C189.964,380.193 164.322,380.192 148.564,364.441 C132.808,348.678 132.808,323.031 148.559,307.274 C164.322,291.518 189.963,291.517 205.718,307.272 Z M127.35,286.061 C111.596,301.815 85.954,301.814 70.196,286.063 C54.44,270.3 54.44,244.653 70.191,228.896 C85.954,213.14 111.595,213.139 127.35,228.894 C143.111,244.655 143.11,270.3 127.35,286.061 Z M156.038,179.002 C140.284,194.757 114.642,194.756 98.884,179.004 C83.128,163.241 83.128,137.594 98.879,121.837 C114.642,106.081 140.283,106.08 156.038,121.835 C171.799,137.596 171.798,163.241 156.038,179.002 Z M312.776,278.583 C328.537,294.344 328.537,319.989 312.776,335.75 C297.022,351.504 271.38,351.503 255.622,335.752 C239.866,319.989 239.866,294.342 255.617,278.585 C271.38,262.829 297.021,262.828 312.776,278.583 Z M333.998,356.957 C349.76,341.201 375.402,341.2 391.158,356.955 C406.919,372.716 406.918,398.361 391.158,414.122 C375.403,429.876 349.761,429.875 334.003,414.124 C318.247,398.361 318.247,372.714 333.998,356.957 Z M498,96.401 C506.284,96.401 513,103.118 513,111.402 C513,119.686 506.284,126.402 498,126.402 L407.813,126.402 L372.14,162.075 C369.464,157.907 366.319,153.955 362.677,150.313 C359.069,146.705 355.127,143.554 350.936,140.853 L366.275,125.513 C332.601,120.212 306.265,91.06 306.265,55.167 L306.265,15 C306.265,6.716 312.981,0 321.265,0 L345.365,0 C384.769,0 416.599,31.882 416.599,71.233 L416.599,96.401 L498,96.401 Z M284.31,228.694 C268.554,212.932 268.554,187.284 284.305,171.527 C300.068,155.771 325.709,155.77 341.464,171.525 C357.225,187.286 357.224,212.931 341.464,228.692 C325.71,244.446 300.068,244.445 284.31,228.694 Z M263.092,150.319 C247.337,166.074 221.696,166.073 205.937,150.321 C190.182,134.558 190.182,108.911 205.933,93.154 C221.696,77.398 247.337,77.397 263.092,93.152 C278.853,108.913 278.852,134.558 263.092,150.319 Z M177.25,257.381 C161.489,241.62 161.489,215.975 177.248,200.216 C193.011,184.46 218.652,184.46 234.407,200.214 C250.168,215.975 250.168,241.62 234.407,257.381 C218.652,273.135 193.011,273.135 177.25,257.381 Z M362.678,249.905 C378.438,234.144 404.083,234.145 419.844,249.905 C435.602,265.663 435.602,291.304 419.844,307.062 C404.083,322.823 378.439,322.823 362.678,307.063 C346.92,291.304 346.92,265.663 362.678,249.905 Z', |
| 'M251.78,126.4 C248.1,100.164 235.969,75.729 217.101,56.862 L210.997,50.758 C230.887,20.228 265.323,-1.42108547e-14 304.4,-1.42108547e-14 L384.733,-1.42108547e-14 C393.017,-1.42108547e-14 399.733,6.716 399.733,15 C399.733,76.426 349.76,126.4 288.333,126.4 L251.78,126.4 Z M174.675,99.289 L149.194,73.806 C143.336,67.948 143.336,58.451 149.194,52.593 C155.052,46.736 164.55,46.736 170.407,52.593 L195.888,78.075 C211.81,93.997 221.19,114.703 222.744,136.95 C217.759,138.31 212.836,139.885 208,141.671 C202.962,139.81 197.83,138.182 192.632,136.784 C191.123,122.622 184.886,109.499 174.675,99.289 Z M269.343,160.667 C350.1,160.667 415.8,226.367 415.8,307.124 C415.8,385.71 338.539,512 269.343,512 C252.999,512 235.815,505.259 218.269,491.966 C212.239,487.429 203.762,487.432 197.695,492 C180.178,505.263 162.995,512 146.657,512 C77.075,512 0.2,385.291 0.2,307.124 C0.2,226.367 65.9,160.667 146.657,160.667 C167.837,160.667 188.883,165.299 208,174.12 C227.117,165.299 248.163,160.667 269.343,160.667 Z', |
| 'M267.157,227.326 C210.111,269.798 144.193,291.333 71.233,291.334 C49.528,291.334 31.362,306.781 27.153,327.26 C11.883,313.249 -1.13686838e-13,292.601 -1.13686838e-13,264.05 L-1.13686838e-13,256 C-1.13686838e-13,247.716 6.716,241 15,241 L97.486,241 C169.209,241 245.378,223.348 315.718,183.492 C302.506,197.829 286.38,213.014 267.157,227.326 Z M143.533,371.667 C118.72,371.667 98.533,391.854 98.532,416.667 C98.532,417.525 98.548,418.379 98.565,419.232 C73.198,403.981 56.233,376.202 56.233,344.383 L56.233,336.333 C56.233,328.049 62.949,321.333 71.233,321.333 C214.679,321.333 306.098,244.189 354.102,184.97 C348.535,232.069 327.511,275.624 293.501,309.619 C253.47,349.631 200.21,371.667 143.533,371.667 Z M368.225,112.327 L338.983,53.846 C335.278,46.437 338.282,37.426 345.691,33.722 L409.958,1.588 C417.384,-2.125 426.388,0.907 430.083,8.296 C440.992,30.114 445.601,54.489 443.41,78.784 C442.741,86.198 441.441,93.504 439.551,100.635 C432.128,99.26 424.481,98.534 416.666,98.534 L400.6,98.534 C387.897,98.534 376.415,103.833 368.225,112.327 Z M416.667,128.533 C469.233,128.533 512,171.3 512,223.866 C512,383.027 383.225,512 223.866,512 C171.426,512 128.533,469.651 128.533,416.667 C128.533,408.383 135.249,401.667 143.533,401.667 C277.247,401.667 385.6,293.476 385.6,159.6 L385.6,143.533 C385.6,135.249 392.316,128.533 400.6,128.533 L416.667,128.533 Z' |
| ] |
| var option = { |
| series: [{ |
| type: 'pie', |
| data: [{ |
| value: 110, |
| name: 'Grapes' |
| }, { |
| value: 80, |
| name: 'Apples' |
| }, { |
| value: 40, |
| name: 'Bananas' |
| }], |
| label: { |
| fontSize: 16 |
| }, |
| labelLine: { |
| lineStyle: { |
| width: 2 |
| } |
| } |
| }], |
| |
| aria: { |
| decal: { |
| show: true, |
| decals: [{ |
| dashArrayX: [[d, d], [0, d, d, 0]], |
| dashArrayY: [d, 0], |
| symbol: 'path://' + path[0], |
| symbolKeepAspect: true, |
| symbolSize: 0.8 |
| }, { |
| dashArrayX: [[d, d], [0, d, d, 0]], |
| dashArrayY: [d, 0], |
| symbol: 'path://' + path[1], |
| symbolKeepAspect: true, |
| symbolSize: 0.8 |
| }, { |
| dashArrayX: [[d, d], [0, d, d, 0]], |
| dashArrayY: [d, 0], |
| symbol: 'path://' + path[2], |
| symbolKeepAspect: true, |
| symbolSize: 0.8 |
| }] |
| } |
| }, |
| |
| color: ['#7862A5', '#DD5353', '#FDD344'], |
| |
| }; |
| |
| var chart = testHelper.create(echarts, 'main-fruit', { |
| title: [ |
| 'Symbols should keep aspect ratio' |
| ], |
| option: option |
| // height: 300, |
| // buttons: [{text: 'btn-txt', onclick: function () {}}], |
| // recordCanvas: true, |
| }); |
| }); |
| </script> |
| |
| |
| <script> |
| require(['echarts'/*, 'map/js/china' */], function (echarts) { |
| var option = { |
| series: [{ |
| type: 'bar', |
| name: 'Apples', |
| data: [108, 26, 39, 24], |
| itemStyle: { |
| borderColor: 'black', |
| borderWidth: 2 |
| } |
| }, { |
| type: 'bar', |
| name: 'Oranges', |
| data: [23, 40, 60, 70], |
| itemStyle: { |
| borderColor: 'black', |
| borderWidth: 2 |
| } |
| }, { |
| type: 'bar', |
| name: 'Bananas', |
| data: [129, 40, 40, 50], |
| itemStyle: { |
| borderColor: 'black', |
| borderWidth: 2 |
| } |
| }, { |
| type: 'bar', |
| name: 'Pears', |
| data: [40, 60, 50, 89], |
| itemStyle: { |
| borderColor: 'black', |
| borderWidth: 2 |
| } |
| }], |
| |
| xAxis: { |
| data: ['Q1', 'Q2', 'Q3', 'Q4'], |
| axisLine: { |
| color: 'black' |
| }, |
| axisTick: { |
| color: 'black' |
| }, |
| axisLabel: { |
| color: 'black' |
| } |
| }, |
| yAxis: { |
| axisLine: { |
| color: 'black' |
| }, |
| axisTick: { |
| color: 'black' |
| }, |
| axisLabel: { |
| color: 'black' |
| }, |
| splitLine: { |
| lineStyle: { |
| color: 'black', |
| type: 'dashed' |
| } |
| } |
| }, |
| |
| aria: { |
| decal: { |
| show: true, |
| decals: [{ |
| dashArrayX: 0, |
| dashArrayY: 0, |
| color: 'black' |
| }, { |
| dashArrayX: 0, |
| dashArrayY: 0, |
| color: 'black' |
| }, { |
| dashArrayX: [1, 0], |
| dashArrayY: [2, 5], |
| symbolSize: 1, |
| rotation: Math.PI / 6, |
| color: 'black' |
| }, { |
| symbol: 'circle', |
| dashArrayX: [[8, 8], [0, 8, 8, 0]], |
| dashArrayY: [6, 0], |
| symbolSize: 0.8, |
| color: 'black' |
| }] |
| } |
| }, |
| |
| color: ['white', 'black', 'white', 'white'] |
| }; |
| |
| var chart = testHelper.create(echarts, 'main-newspaper', { |
| title: [ |
| 'Two-color decals' |
| ], |
| option: option |
| // height: 300, |
| // buttons: [{text: 'btn-txt', onclick: function () {}}], |
| // recordCanvas: true, |
| }); |
| }); |
| </script> |
| |
| |
| |
| </body> |
| </html> |
| |