| |
| <!-- |
| 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> |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| </head> |
| <body> |
| <style> |
| #main0, #main1, #main2 { |
| width: 100%; |
| height: 1200px; |
| margin: 20px 0; |
| } |
| </style> |
| <h3>Polar bar series label positions</h3> |
| <div id="main0"></div> |
| <div id="main1"></div> |
| <div id="main2"></div> |
| <script> |
| |
| require(['echarts'], function (echarts) { |
| function setChart(chartIndex) { |
| var positions = [ |
| 'start', 'insideStart', |
| 'middle', |
| 'insideEnd','end', |
| 'inside', 'outside' |
| ]; |
| |
| var chart = echarts.init(document.getElementById('main' + chartIndex)); |
| var rows = 3; |
| var cols = 3; |
| |
| var angleAxis = []; |
| var radiusAxis = []; |
| var polar = []; |
| var series = []; |
| var title = []; |
| var cnt = positions.length; |
| for (var i = 0; i < rows; ++i) { |
| for (var j = 0; j < cols; ++j) { |
| var id = i * cols + j; |
| if (id >= cnt) { |
| break; |
| } |
| angleAxis.push({ |
| max: 4, |
| polarIndex: id, |
| startAngle: 75 |
| }); |
| radiusAxis.push({ |
| polarIndex: id, |
| type: 'category', |
| data: ['a', 'b', 'c', 'd'], |
| startAngle: 75 |
| }); |
| polar.push({ |
| center: [ |
| 100 / cols * (j + 0.5) + '%', |
| 100 / rows * (i + 0.5) + '%' |
| ], |
| radius: [ |
| chartIndex ? 10 : 30, |
| 100 / rows * 0.75 + '%' |
| ] |
| }); |
| series.push({ |
| type: 'bar', |
| data: [ |
| chartIndex ? 0.5 : 2, |
| 1.2, |
| 2.4, 3.6 |
| ], |
| coordinateSystem: 'polar', |
| polarIndex: id, |
| roundCap: chartIndex === 2, |
| label: { |
| show: true, |
| position: positions[id], |
| formatter: '{b}: {c}', |
| borderColor: '#0ff', |
| borderWidth: 2, |
| // rotate: |
| } |
| }); |
| title.push({ |
| text: positions[id], |
| left: 100 / cols * (j + 0.5) + '%', |
| top: 100 / rows * (i + 0.92) + '%', |
| textAlign: 'center' |
| }); |
| } |
| } |
| |
| chart.setOption({ |
| title: title, |
| angleAxis: chartIndex ? angleAxis : radiusAxis, |
| radiusAxis: chartIndex ? radiusAxis : angleAxis, |
| polar: polar, |
| tooltip: {}, |
| series: series, |
| backgroundColor: '#fff', |
| animation: 0 |
| }); |
| } |
| |
| setChart(0); |
| setChart(1); |
| setChart(2); |
| }); |
| </script> |
| </body> |
| </html> |