123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- <html>
- <head>
- <meta charset="utf-8">
- <script src="lib/esl.js"></script>
- <script src="lib/config.js"></script>
- <script src="lib/jquery.min.js"></script>
- </head>
- <body>
- <style>
- html, body, #main {
- padding: 0;
- margin: 0;
- width: 100%;
- height: 600px;
- }
- .operations {
- margin-top: 10px;
- margin-bottom: 30px;
- }
- </style>
- <div class="operations">
- <input type="radio" name="inside" value="radius"/> inside zoom radius
- <input type="radio" name="inside" value="angle" checked="checked"/> inside zoom angle
- <input type="radio" name="inside" value="all"/> inside zoom all
- </div>
- <div id="main"></div>
- <script>
- require([
- 'echarts'
- // 'echarts/chart/scatter',
- // 'echarts/component/legend',
- // 'echarts/component/polar',
- // 'echarts/component/dataZoom'
- ], function (echarts) {
- var chart = echarts.init(document.getElementById('main'), null, {
- });
- var data1 = [];
- var data2 = [];
- var data3 = [];
- for (var i = 0; i < 100; i++) {
- data1.push([Math.random() * 5, Math.random() * 360]);
- data2.push([Math.random() * 5, Math.random() * 360]);
- data3.push([Math.random() * 10, Math.random() * 360]);
- }
- chart.setOption({
- legend: {
- data: ['scatter', 'scatter2', 'scatter3']
- },
- polar: {
- },
- angleAxis: {
- type: 'value'
- },
- radiusAxis: {
- axisAngle: 0
- },
- dataZoom: [
- {
- id: 'slider-v',
- show: true,
- orient: 'vertical',
- angleAxisIndex: [0]
- },
- {
- id: 'slider-h',
- show: true,
- orient: 'horizontal',
- radiusAxisIndex: [0]
- }
- ],
- series: [{
- coordinateSystem: 'polar',
- // FIXME
- // 现在必须得设置这个,能不能polar和catesian一样,要不然很多特殊处理。
- angleAxisIndex: 0,
- radiusAxisIndex: 0,
- name: 'scatter',
- type: 'scatter',
- symbolSize: 10,
- data: data1
- }, {
- coordinateSystem: 'polar',
- angleAxisIndex: 0,
- radiusAxisIndex: 0,
- name: 'scatter2',
- type: 'scatter',
- symbolSize: 10,
- data: data2
- }, {
- coordinateSystem: 'polar',
- angleAxisIndex: 0,
- radiusAxisIndex: 0,
- name: 'scatter3',
- type: 'scatter',
- symbolSize: 10,
- data: data3
- }]
- });
- var radioOption = {
- radius: {
- dataZoom: [
- {
- disabled: true,
- id: 'inside-a',
- type: 'inside',
- angleAxisIndex: 0
- },
- {
- disabled: false,
- id: 'inside-r',
- type: 'inside',
- radiusAxisIndex: 0
- }
- ]
- },
- angle: {
- dataZoom: [
- {
- disabled: false,
- id: 'inside-a',
- type: 'inside',
- angleAxisIndex: 0
- },
- {
- disabled: true,
- id: 'inside-r',
- type: 'inside',
- radiusAxisIndex: 0
- }
- ]
- },
- all: {
- dataZoom: [
- {
- disabled: false,
- id: 'inside-a',
- type: 'inside',
- angleAxisIndex: [0]
- },
- {
- disabled: false,
- id: 'inside-r',
- type: 'inside',
- radiusAxisIndex: [0]
- }
- ]
- }
- };
- initRadio();
- chart.setOption(radioOption.angle);
- function initRadio() {
- $('.operations').on('click', function () {
- $('.operations input').each(function (idx, el) {
- if (el.checked) {
- chart.setOption(radioOption[el.getAttribute('value')]);
- }
- });
- });
- }
- })
- </script>
- </body>
- </html>
|