|  | 
 | <!-- | 
 | 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> | 
 |     </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实例。<br> | 
 |             三个都会 dataZoom 同步。<br> | 
 |             前两个会 tooltip 同步,第三个不 tooltip 同步。 | 
 |         </div> | 
 |         <div id="main2"></div> | 
 |         <div id="main3"></div> | 
 |  | 
 |         <script> | 
 |  | 
 |             require([ | 
 |                 'data/rainfall.json.js', | 
 |                 'echarts' | 
 |             ], 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, { | 
 |  | 
 |                 }); | 
 |  | 
 |                 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, { | 
 |  | 
 |                 }); | 
 |  | 
 |                 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, { | 
 |  | 
 |                 }); | 
 |  | 
 |                 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> |