179 lines
6.1 KiB
HTML
179 lines
6.1 KiB
HTML
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<script src="esl.js"></script>
|
||
<script src="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, {
|
||
renderer: 'canvas'
|
||
});
|
||
|
||
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> |