| <!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="main1"></div> | 
 |  | 
 |         <div id="main2"></div> | 
 |  | 
 |         <div id="main3"></div> | 
 |  | 
 |         <div id="main4"></div> | 
 |  | 
 |         <div id="main5"></div> | 
 |  | 
 |  | 
 |  | 
 |         <script> | 
 |         require(['echarts'], function (echarts) { | 
 |             var option = { | 
 |                 angleAxis: { | 
 |                     max: 3, | 
 |                     startAngle: 30, | 
 |                     splitLine: { | 
 |                         show: false | 
 |                     } | 
 |                 }, | 
 |                 radiusAxis: { | 
 |                     type: 'category', | 
 |                     data: ['v', 'w', 'x', 'y', 'z'], | 
 |                     show: false | 
 |                 }, | 
 |                 polar: { | 
 |                     radius: [10, '80%'] | 
 |                 }, | 
 |                 series: [{ | 
 |                     type: 'bar', | 
 |                     data: [4, 3, 2, 1, 0], | 
 |                     coordinateSystem: 'polar', | 
 |                     name: 'Without Round Cap', | 
 |                     color: 'rgba(200, 0, 0, 0.5)', | 
 |                     itemStyle: { | 
 |                         borderColor: 'red', | 
 |                         borderWidth: 1 | 
 |                     } | 
 |                 }, { | 
 |                     type: 'bar', | 
 |                     data: [4, 3, 2, 1, 0], | 
 |                     coordinateSystem: 'polar', | 
 |                     name: 'With Round Cap', | 
 |                     roundCap: true, | 
 |                     color: 'rgba(0, 200, 0, 0.5)', | 
 |                     itemStyle: { | 
 |                         borderColor: 'green', | 
 |                         borderWidth: 1 | 
 |                     } | 
 |                 }], | 
 |                 legend: { | 
 |                     show: true, | 
 |                     data: ['Without Round Cap', 'With Round Cap'] | 
 |                 } | 
 |             }; | 
 |  | 
 |             var chart = testHelper.create(echarts, 'main1', { | 
 |                 title: [ | 
 |                     'Polar bar with and without round cap on rotated axis', | 
 |                     'Check the split position without round cap, which should always point to 0 when data larger than 100%' | 
 |                 ], | 
 |                 option: option | 
 |             }); | 
 |         }); | 
 |         </script> | 
 |  | 
 |  | 
 |         <script> | 
 |         require(['echarts'], function (echarts) { | 
 |             var data1 = []; | 
 |             var data2 = []; | 
 |             for (var i = 1; i <= 6; ++i) { | 
 |                 data1.push(i); | 
 |                 data2.push(6 - i); | 
 |             } | 
 |  | 
 |             var option = { | 
 |                 angleAxis: { | 
 |                     max: 5, | 
 |                     show: false | 
 |                 }, | 
 |                 radiusAxis: { | 
 |                     type: 'category', | 
 |                     data: data1, | 
 |                     z: 10, | 
 |                     show: false | 
 |                 }, | 
 |                 polar: { | 
 |                     show: false, | 
 |                     radius: '80%' | 
 |                 }, | 
 |                 series: [{ | 
 |                     type: 'bar', | 
 |                     data: data1, | 
 |                     coordinateSystem: 'polar', | 
 |                     name: 'A', | 
 |                     roundCap: true, | 
 |                     color: 'rgba(200, 0, 0, 0.5)', | 
 |                     itemStyle: { | 
 |                         borderColor: 'red', | 
 |                         borderWidth: 1 | 
 |                     } | 
 |                 }, { | 
 |                     type: 'bar', | 
 |                     data: data2, | 
 |                     coordinateSystem: 'polar', | 
 |                     name: 'B', | 
 |                     roundCap: true, | 
 |                     color: 'rgba(0, 200, 0, 0.5)', | 
 |                     itemStyle: { | 
 |                         borderColor: 'green', | 
 |                         borderWidth: 1 | 
 |                     } | 
 |                 }], | 
 |                 legend: { | 
 |                     show: true, | 
 |                     data: ['A', 'B'] | 
 |                 }, | 
 |                 tooltip: { | 
 |                     show: true | 
 |                 } | 
 |             }; | 
 |  | 
 |             var chart = testHelper.create(echarts, 'main2', { | 
 |                 title: [ | 
 |                     'Polar bar with round cap' | 
 |                 ], | 
 |                 option: option | 
 |             }); | 
 |         }); | 
 |         </script> | 
 |  | 
 |  | 
 |         <script> | 
 |         require(['echarts'], function (echarts) { | 
 |             var option = { | 
 |                 angleAxis: { | 
 |                     max: 5 | 
 |                 }, | 
 |                 radiusAxis: { | 
 |                     type: 'category', | 
 |                     data: ['a'], | 
 |                     z: 10 | 
 |                 }, | 
 |                 polar: { | 
 |                     radius: ['25%', '60%'] | 
 |                 }, | 
 |                 series: [{ | 
 |                     type: 'bar', | 
 |                     data: [0], | 
 |                     coordinateSystem: 'polar', | 
 |                     name: 'A', | 
 |                     roundCap: true, | 
 |                     color: 'rgba(200, 0, 0, 0.5)', | 
 |                     itemStyle: { | 
 |                         borderColor: 'red', | 
 |                         borderWidth: 1 | 
 |                     },emphasis:{ | 
 |                         itemStyle:{ | 
 |                             color:'red', | 
 |                             borderColor:'blue' | 
 |                         } | 
 |                     } | 
 |                 }], | 
 |                 legend: { | 
 |                     show: true, | 
 |                     data: ['A'] | 
 |                 }, | 
 |                 tooltip: { | 
 |                     show: true | 
 |                 } | 
 |             }; | 
 |  | 
 |             var chart = testHelper.create(echarts, 'main3', { | 
 |                 title: [ | 
 |                     'Polar radius and animation test', | 
 |                     'Click button to check animation', | 
 |                     'Data add 3 by each click; data change to 1 when bigger than 10' | 
 |                 ], | 
 |                 option: option, | 
 |                 buttons: [{ | 
 |                     text: 'Change data', | 
 |                     onclick: function () { | 
 |                         if (option.series[0].data[0] > 10) { | 
 |                             option.series[0].data[0] = 1; | 
 |                         } | 
 |                         else { | 
 |                             option.series[0].data[0] += 3; | 
 |                         } | 
 |                         chart.setOption(option); | 
 |                     } | 
 |                 }] | 
 |             }); | 
 |         }); | 
 |         </script> | 
 |  | 
 |  | 
 |         <script> | 
 |         require(['echarts'], function (echarts) { | 
 |             var option = { | 
 |                 angleAxis: [{ | 
 |                     type: 'value' | 
 |                 }, { | 
 |                     type: 'value', | 
 |                     polarIndex: 1 | 
 |                 }], | 
 |                 radiusAxis: [{ | 
 |                     type: 'category', | 
 |                     data: ['a', 'b', 'c'], | 
 |                     z: 10 | 
 |                 }, { | 
 |                     type: 'category', | 
 |                     data: ['a', 'b', 'c'], | 
 |                     z: 10, | 
 |                     polarIndex: 1, | 
 |                     inverse: true | 
 |                 }], | 
 |                 polar: [{ | 
 |                     radius: ['10%', '50%'], | 
 |                     center: ['25%', '50%'] | 
 |                 }, { | 
 |                     radius: ['10%', '50%'], | 
 |                     center: ['75%', '50%'] | 
 |                 }], | 
 |                 series: [{ | 
 |                     type: 'bar', | 
 |                     data: [1, 3, 2], | 
 |                     coordinateSystem: 'polar', | 
 |                     name: 'A', | 
 |                     roundCap: true, | 
 |                     polarIndex: 0 | 
 |                 }, { | 
 |                     type: 'bar', | 
 |                     data: [1, 3, 2], | 
 |                     coordinateSystem: 'polar', | 
 |                     name: 'A', | 
 |                     roundCap: true, | 
 |                     polarIndex: 1 | 
 |                 }] | 
 |             }; | 
 |  | 
 |             var chart = testHelper.create(echarts, 'main4', { | 
 |                 title: [ | 
 |                     'Polar radius axis inverse tests' | 
 |                 ], | 
 |                 option: option | 
 |             }); | 
 |         }); | 
 |         </script> | 
 |  | 
 |  | 
 |         <script> | 
 |         require(['echarts'], function (echarts) { | 
 |             let hoverColors = [ | 
 |                 '255,0,0', | 
 |                 '0,128,0', | 
 |                 '0,0,255', | 
 |             ]; | 
 |             let hoverIndex = 0; | 
 |  | 
 |             let getOptions = function(hoverIndex){ | 
 |                 return  { | 
 |                     angleAxis: { | 
 |                         max: 5 | 
 |                     }, | 
 |                     radiusAxis: { | 
 |                         type: 'category', | 
 |                         data: ['a'], | 
 |                         z: 10 | 
 |                     }, | 
 |                     polar: { | 
 |                         radius: ['20%', '60%'] | 
 |                     }, | 
 |                     series: [{ | 
 |                         type: 'bar', | 
 |                         data: [4], | 
 |                         coordinateSystem: 'polar', | 
 |                         name: 'A', | 
 |                         roundCap: true, | 
 |                         animationDuration:500, | 
 |                         color: `rgba(${hoverColors[hoverIndex]},0.5)`, | 
 |                         itemStyle: { | 
 |                             borderColor: `rgb(${hoverColors[hoverIndex]})`, | 
 |                             borderWidth: 0 | 
 |                         }, | 
 |                         emphasis: { | 
 |                             itemStyle: { | 
 |                                 color: `rgb(${hoverColors[hoverIndex]})`, | 
 |                                 borderColor: `rgb(${hoverColors[hoverIndex]})` | 
 |                             } | 
 |                         } | 
 |                     }], | 
 |                     legend: { | 
 |                         show: true, | 
 |                         data: ['A'] | 
 |                     }, | 
 |                     tooltip: { | 
 |                         show: true | 
 |                     } | 
 |                 }; | 
 |             } | 
 |  | 
 |             var chart = testHelper.create(echarts, 'main5', { | 
 |                 title: [ | 
 |                     'Polar radius and value [0,\'-\',\'rational num\'] test', | 
 |                     'Click button to change hoverStyle and data value', | 
 |                 ], | 
 |                 option: getOptions(hoverIndex), | 
 |                 buttons: [{ | 
 |                     text: 'Change data', | 
 |                     onclick: function () { | 
 |                         ++hoverIndex > 2 && (hoverIndex=0) | 
 |                         let option = chart.getOption(); | 
 |  | 
 |                         if (option.series[0].data[0] == 0) { | 
 |                             option.series[0].data[0] = 4; | 
 |                         } else if (option.series[0].data[0] == 4) { | 
 |                             option.series[0].data[0] = '-'; | 
 |                         } else if (option.series[0].data[0] = '-') { | 
 |                             option.series[0].data[0] = 0; | 
 |                         } | 
 |  | 
 |                         option.series[0].color = `rgba(${hoverColors[hoverIndex]},0.5)`; | 
 |                         option.series[0].emphasis.itemStyle = { | 
 |                             color:`rgb(${hoverColors[hoverIndex]})`, | 
 |                             borderColor:`rgb(${hoverColors[hoverIndex]})` | 
 |                         }; | 
 |                         chart.setOption(option); | 
 |                     } | 
 |                 }] | 
 |             }); | 
 |         }); | 
 |         </script> | 
 |  | 
 |     </body> | 
 | </html> |