| <!DOCTYPE html> | 
 | <!-- | 
 | 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"> | 
 |         <meta name="viewport" content="width=device-width, initial-scale=1" /> | 
 |         <script src="lib/simpleRequire.js"></script> | 
 |         <script src="lib/config.js"></script> | 
 |         <script src="lib/jquery.min.js"></script> | 
 |         <script src="lib/facePrint.js"></script> | 
 |         <script src="lib/testHelper.js"></script> | 
 |         <!-- <script src="ut/lib/canteen.js"></script> --> | 
 |         <link rel="stylesheet" href="lib/reset.css" /> | 
 |     </head> | 
 |     <body> | 
 |         <style> | 
 |         </style> | 
 |  | 
 |  | 
 |  | 
 |         <div id="main0"></div> | 
 |         <div id="main1"></div> | 
 |         <div id="main2"></div> | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |         <script> | 
 |             function makeToggleChartButtons(changeFocus) { | 
 |                 return  [{ | 
 |                     text: 'Set focus: series', | 
 |                     onclick: function () { | 
 |                         changeFocus({ focus: 'series' }); | 
 |                     } | 
 |                 }, { | 
 |                     text: 'Set focus: self', | 
 |                     onclick: function () { | 
 |                         changeFocus({ focus: 'self' }); | 
 |                     } | 
 |                 }, { | 
 |                     text: 'Set blurScope: series', | 
 |                     onclick: function () { | 
 |                         changeFocus({ blurScope: 'series' }); | 
 |                     } | 
 |                 }, { | 
 |                     text: 'Set blurScope: coordinateSystem', | 
 |                     onclick: function () { | 
 |                         changeFocus({ blurScope: 'coordinateSystem' }); | 
 |                     } | 
 |                 }, { | 
 |                     text: 'Set blurScope: global', | 
 |                     onclick: function () { | 
 |                         changeFocus({ blurScope: 'global' }); | 
 |                     } | 
 |                 }]; | 
 |             } | 
 |         </script> | 
 |  | 
 |         <script> | 
 |         require(['echarts'/*, 'map/js/china' */], function (echarts) { | 
 |             var option; | 
 |  | 
 |             option = { | 
 |                 grid: { | 
 |                     right: '20%' | 
 |                 }, | 
 |                 legend: { | 
 |                     data: ['蒸发量', '降水量', '平均温度'] | 
 |                 }, | 
 |                 xAxis: [ | 
 |                     { | 
 |                         type: 'category', | 
 |                         axisTick: { | 
 |                             alignWithLabel: true | 
 |                         }, | 
 |                         data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] | 
 |                     } | 
 |                 ], | 
 |                 yAxis: [ | 
 |                     { | 
 |                         type: 'value', | 
 |                         name: '蒸发量', | 
 |                         min: 0, | 
 |                         max: 250, | 
 |                         position: 'right', | 
 |                         axisLabel: { | 
 |                             formatter: '{value} ml' | 
 |                         } | 
 |                     }, | 
 |                     { | 
 |                         type: 'value', | 
 |                         name: '降水量', | 
 |                         min: 0, | 
 |                         max: 250, | 
 |                         position: 'right', | 
 |                         offset: 80, | 
 |                         axisLabel: { | 
 |                             formatter: '{value} ml' | 
 |                         } | 
 |                     }, | 
 |                     { | 
 |                         type: 'value', | 
 |                         name: '温度', | 
 |                         min: 0, | 
 |                         max: 25, | 
 |                         position: 'left', | 
 |                         axisLabel: { | 
 |                             formatter: '{value} °C' | 
 |                         } | 
 |                     } | 
 |                 ], | 
 |                 series: [ | 
 |                     { | 
 |                         name: '蒸发量', | 
 |                         type: 'bar', | 
 |                         data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3] | 
 |                     }, | 
 |                     { | 
 |                         name: '降水量', | 
 |                         type: 'bar', | 
 |                         yAxisIndex: 1, | 
 |                         data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3] | 
 |                     }, | 
 |                     { | 
 |                         name: '平均温度', | 
 |                         type: 'line', | 
 |                         yAxisIndex: 2, | 
 |                         data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2] | 
 |                     } | 
 |                 ] | 
 |             }; | 
 |  | 
 |  | 
 |             var chart = testHelper.create(echarts, 'main0', { | 
 |                 title: [ | 
 |                     'Multiple series on same grid' | 
 |                 ], | 
 |                 buttons: makeToggleChartButtons(function (newOpt) { | 
 |                     option.series.forEach(function (seriesOpt) { | 
 |                         seriesOpt.emphasis = Object.assign(seriesOpt.emphasis || {}, newOpt) | 
 |                     }); | 
 |                     chart.setOption(option); | 
 |                 }), | 
 |                 option: option | 
 |             }); | 
 |         }); | 
 |         </script> | 
 |  | 
 |  | 
 |         <script> | 
 |             require(['echarts'/*, 'map/js/china' */], function (echarts) { | 
 |                 var dataAll = [ | 
 |                     [ | 
 |                         [10.0, 8.04], | 
 |                         [8.0, 6.95], | 
 |                         [13.0, 7.58], | 
 |                         [9.0, 8.81], | 
 |                         [11.0, 8.33], | 
 |                         [14.0, 9.96], | 
 |                         [6.0, 7.24], | 
 |                         [4.0, 4.26], | 
 |                         [12.0, 10.84], | 
 |                         [7.0, 4.82], | 
 |                         [5.0, 5.68] | 
 |                     ], | 
 |                     [ | 
 |                         [10.0, 9.14], | 
 |                         [8.0, 8.14], | 
 |                         [13.0, 8.74], | 
 |                         [9.0, 8.77], | 
 |                         [11.0, 9.26], | 
 |                         [14.0, 8.10], | 
 |                         [6.0, 6.13], | 
 |                         [4.0, 3.10], | 
 |                         [12.0, 9.13], | 
 |                         [7.0, 7.26], | 
 |                         [5.0, 4.74] | 
 |                     ], | 
 |                     [ | 
 |                         [10.0, 7.46], | 
 |                         [8.0, 6.77], | 
 |                         [13.0, 12.74], | 
 |                         [9.0, 7.11], | 
 |                         [11.0, 7.81], | 
 |                         [14.0, 8.84], | 
 |                         [6.0, 6.08], | 
 |                         [4.0, 5.39], | 
 |                         [12.0, 8.15], | 
 |                         [7.0, 6.42], | 
 |                         [5.0, 5.73] | 
 |                     ], | 
 |                     [ | 
 |                         [8.0, 6.58], | 
 |                         [8.0, 5.76], | 
 |                         [8.0, 7.71], | 
 |                         [8.0, 8.84], | 
 |                         [8.0, 8.47], | 
 |                         [8.0, 7.04], | 
 |                         [8.0, 5.25], | 
 |                         [19.0, 12.50], | 
 |                         [8.0, 5.56], | 
 |                         [8.0, 7.91], | 
 |                         [8.0, 6.89] | 
 |                     ] | 
 |                 ]; | 
 |  | 
 |                 var markLineOpt = { | 
 |                     animation: false, | 
 |                     label: { | 
 |                         formatter: 'y = 0.5 * x + 3', | 
 |                         align: 'right' | 
 |                     }, | 
 |                     lineStyle: { | 
 |                         type: 'solid' | 
 |                     }, | 
 |                     tooltip: { | 
 |                         formatter: 'y = 0.5 * x + 3' | 
 |                     }, | 
 |                     data: [[{ | 
 |                         coord: [0, 3], | 
 |                         symbol: 'none' | 
 |                     }, { | 
 |                         coord: [20, 13], | 
 |                         symbol: 'none' | 
 |                     }]] | 
 |                 }; | 
 |  | 
 |                 option = { | 
 |                     title: { | 
 |                         text: 'Anscombe\'s quartet', | 
 |                         left: 'center', | 
 |                         top: 0 | 
 |                     }, | 
 |                     grid: [ | 
 |                         {x: '7%', y: '7%', width: '38%', height: '38%'}, | 
 |                         {x2: '7%', y: '7%', width: '38%', height: '38%'}, | 
 |                         {x: '7%', y2: '7%', width: '38%', height: '38%'}, | 
 |                         {x2: '7%', y2: '7%', width: '38%', height: '38%'} | 
 |                     ], | 
 |                     tooltip: { | 
 |                         formatter: 'Group {a}: ({c})' | 
 |                     }, | 
 |                     xAxis: [ | 
 |                         {gridIndex: 0, min: 0, max: 20}, | 
 |                         {gridIndex: 1, min: 0, max: 20}, | 
 |                         {gridIndex: 2, min: 0, max: 20}, | 
 |                         {gridIndex: 3, min: 0, max: 20} | 
 |                     ], | 
 |                     yAxis: [ | 
 |                         {gridIndex: 0, min: 0, max: 15}, | 
 |                         {gridIndex: 1, min: 0, max: 15}, | 
 |                         {gridIndex: 2, min: 0, max: 15}, | 
 |                         {gridIndex: 3, min: 0, max: 15} | 
 |                     ], | 
 |                     series: [ | 
 |                         { | 
 |                             name: 'I', | 
 |                             type: 'scatter', | 
 |                             xAxisIndex: 0, | 
 |                             yAxisIndex: 0, | 
 |                             data: dataAll[0], | 
 |                             symbolSize: 20, | 
 |                             markLine: markLineOpt | 
 |                         }, | 
 |                         { | 
 |                             name: 'II', | 
 |                             type: 'scatter', | 
 |                             xAxisIndex: 1, | 
 |                             yAxisIndex: 1, | 
 |                             data: dataAll[1], | 
 |                             symbolSize: 20, | 
 |                             markLine: markLineOpt | 
 |                         }, | 
 |                         { | 
 |                             name: 'III', | 
 |                             type: 'scatter', | 
 |                             xAxisIndex: 2, | 
 |                             yAxisIndex: 2, | 
 |                             data: dataAll[2], | 
 |                             symbolSize: 20, | 
 |                             markLine: markLineOpt | 
 |                         }, | 
 |                         { | 
 |                             name: 'IV', | 
 |                             type: 'scatter', | 
 |                             xAxisIndex: 3, | 
 |                             yAxisIndex: 3, | 
 |                             data: dataAll[3], | 
 |                             symbolSize: 20, | 
 |                             markLine: markLineOpt | 
 |                         } | 
 |                     ] | 
 |                 }; | 
 |                 var chart = testHelper.create(echarts, 'main1', { | 
 |                     title: [ | 
 |                         'Multiple grid' | 
 |                     ], | 
 |                     buttons: makeToggleChartButtons(function (newOpt) { | 
 |                         option.series.forEach(function (seriesOpt) { | 
 |                             seriesOpt.emphasis = Object.assign(seriesOpt.emphasis || {}, newOpt) | 
 |                         }); | 
 |                         chart.setOption(option); | 
 |                     }), | 
 |                     option: option | 
 |                 }); | 
 |             }); | 
 |             </script> | 
 |  | 
 |  | 
 |  | 
 |  | 
 |         <script> | 
 |         require(['echarts'/*, 'map/js/china' */], function (echarts) { | 
 |             var option; | 
 |  | 
 |             option = { | 
 |                 xAxis: { | 
 |                     data: ['a', 'b', 'c'] | 
 |                 }, | 
 |                 yAxis: {}, | 
 |                 series: [{ | 
 |                     type: 'bar', | 
 |                     emphasis: { | 
 |                         focus: 'series' | 
 |                     }, | 
 |                     data: [1212, 3232, 2525] | 
 |                 }, { | 
 |                     type: 'bar', | 
 |                     emphasis: { | 
 |                         // itemStyle: { | 
 |                         //     color: 'red' | 
 |                         // }, | 
 |                         focus: 'series' | 
 |                     }, | 
 |                     data: [1212, 3232, 2525] | 
 |                 }] | 
 |             }; | 
 |  | 
 |             var buttons = makeToggleChartButtons(function (newOpt) { | 
 |                 option.series.forEach(function (seriesOpt) { | 
 |                     seriesOpt.emphasis = Object.assign(seriesOpt.emphasis || {}, newOpt) | 
 |                 }); | 
 |                 chart.setOption(option); | 
 |             }); | 
 |  | 
 |             buttons.push({ | 
 |                 text: 'highlight seriesIndex: 0, dataIndex: 1', | 
 |                 onclick: function () { | 
 |                     chart.dispatchAction({ | 
 |                         type: 'highlight', | 
 |                         seriesIndex: 0, | 
 |                         dataIndex: 1 | 
 |                     }); | 
 |                 } | 
 |             }, { | 
 |                 text: 'highlight seriesIndex: 1, dataIndex: 1', | 
 |                 onclick: function () { | 
 |                     chart.dispatchAction({ | 
 |                         type: 'highlight', | 
 |                         seriesIndex: 1, | 
 |                         dataIndex: 1 | 
 |                     }); | 
 |                 } | 
 |             }, { | 
 |                 text: 'downplay seriesIndex: 1, dataIndex: 1', | 
 |                 onclick: function () { | 
 |                     chart.dispatchAction({ | 
 |                         type: 'downplay', | 
 |                         seriesIndex: 1, | 
 |                         dataIndex: 1 | 
 |                     }); | 
 |                 } | 
 |             }, { | 
 |                 text: 'downplay all', | 
 |                 onclick: function () { | 
 |                     chart.dispatchAction({ | 
 |                         type: 'downplay' | 
 |                     }); | 
 |                 } | 
 |             }, { | 
 |                 text: 'Highlight all', | 
 |                 onclick: function () { | 
 |                     chart.dispatchAction({ | 
 |                         type: 'highlight', | 
 |                         seriesIndex: [0, 1], | 
 |                     }); | 
 |                 } | 
 |             }); | 
 |  | 
 |             var chart = testHelper.create(echarts, 'main2', { | 
 |                 title: [ | 
 |                     'API trigger highlight' | 
 |                 ], | 
 |                 option: option, | 
 |                 // height: 300, | 
 |                 buttons: buttons | 
 |                 // recordCanvas: true, | 
 |             }); | 
 |         }); | 
 |         </script> | 
 |  | 
 |  | 
 |     </body> | 
 | </html> | 
 |  |