g214/static/bower_components/echarts/test/dataZoom-rainfall-connect.html

316 lines
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<meta charset="utf-8">
<script src="./esl.js"></script>
<script src="./config.js"></script>
</head>
<body>
<style>
html,
body,
#main,
#main2,
#main3 {
width: 90%;
height: 200px;
margin: 0;
padding: 0;
}
#main2 {
width: 75%;
}
#main3 {
width: 50%;
}
#middle {
text-align: center;
padding: 10px;
background: #d4e8f1;
}
</style>
<div id="main"></div>
<div id="middle">
上面是降水量下面是流量。这是两个echarts实例。
</div>
<div id="main2"></div>
<div id="main3"></div>
<script>
require([
'data/rainfall.json',
'echarts',
'echarts/chart/bar',
'echarts/chart/line',
'echarts/component/legend',
'echarts/component/tooltip',
'echarts/component/grid',
'echarts/component/axis',
'echarts/component/toolbox',
'echarts/component/dataZoomInside'
], function (data, echarts) {
var chart1 = createChart1(data, echarts);
var chart2 = createChart2(data, echarts);
var chart3 = createChart3(data, echarts);
echarts.connect([chart1, chart2, chart3]);
// chart1.on('dataZoom', function (payload) {
// chart2.dispatchAction({
// type: 'dataZoom',
// dataZoomIndex: 0,
// range: payload.range
// }, true);
// });
// chart2.on('dataZoom', function (payload) {
// chart1.dispatchAction({
// type: 'dataZoom',
// dataZoomIndex: 0,
// range: payload.range
// }, true);
// });
});
function createChart1(data, echarts) {
var chart = echarts.init(document.getElementById('main'), null, {
renderer: 'canvas'
});
chart.setOption({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['降水量']
},
grid: [
{
show: true,
borderWidth: 0,
left: 0,
right: 0,
top: 0,
bottom: 0
}
],
toolbox: {
feature: {
saveAsImage: {}
}
},
xAxis: [
{
// data: ['类目1', '类目2', '类目3', '类目4', '类目5',]
// data: xAxisData,
type: 'category',
boundaryGap: true,
// splitLine: {show: false},
axisLabel: {show: true},
splitLine: {show: false},
axisLine: {
show: true,
// onZero: false
},
data: data.category
}
],
yAxis: [
{
boundaryGap: false,
axisLabel: {
},
axisLine: {
lineStyle: {
color: '#666'
}
}
}
],
series: [
{
name: '降水量',
type: 'line',
data: data.rainfall,
itemStyle: {
normal: {
areaStyle: {}
}
}
}
],
dataZoom: [
{
type: 'inside',
start: 30,
end: 40
}
]
});
return chart;
}
function createChart2(data, echarts) {
var chart = echarts.init(document.getElementById('main2'), null, {
renderer: 'canvas'
});
chart.setOption({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['流量']
},
grid: [
{
show: true,
borderWidth: 0,
left: 0,
right: 0,
top: 0,
bottom: 0
}
],
xAxis: [
{
type: 'category',
boundaryGap: true,
axisLabel: {show: true},
splitLine: {show: false},
axisLine: {
show: true,
},
data: data.category
}
],
yAxis: [
{
boundaryGap: false,
position: 'right',
inverse: true,
axisLabel: {
textStyle: {
color: '#666'
}
},
axisLine: {
lineStyle: {
color: '#666'
}
}
}
],
series: [
{
name: '流量',
type: 'line',
data: data.flow,
itemStyle: {
normal: {
areaStyle: {}
}
}
}
],
dataZoom: [
{
type: 'inside',
start: 30,
end: 40
}
]
});
return chart;
}
function createChart3(data, echarts) {
var chart = echarts.init(document.getElementById('main3'), null, {
renderer: 'canvas'
});
chart.setOption({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['流量']
},
grid: [
{
show: true,
borderWidth: 0,
left: 0,
right: 0,
top: 0,
bottom: 0
}
],
xAxis: [
{
type: 'category',
boundaryGap: true,
axisLabel: {show: true},
splitLine: {show: false},
axisLine: {
show: true,
},
data: data.category
}
],
yAxis: [
{
boundaryGap: false,
position: 'right',
inverse: true,
axisLabel: {
textStyle: {
color: '#666'
}
},
axisLine: {
lineStyle: {
color: '#666'
}
}
}
],
series: [
{
name: 'NaN',
type: 'line',
data: data.flow.map(function () { return null; })
},
{
name: '流量',
type: 'line',
data: data.flow,
itemStyle: {
normal: {
areaStyle: {}
}
}
}
],
dataZoom: [
{
type: 'inside',
start: 30,
end: 40
}
]
});
return chart;
}
</script>
</body>
</html>