|  | 
 | <!-- | 
 | 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> | 
 |         <script src="lib/jquery.min.js"></script> | 
 |         <script src="lib/facePrint.js"></script> | 
 |         <script src="lib/testHelper.js"></script> | 
 |         <meta name="viewport" content="width=device-width, initial-scale=1" /> | 
 |         <link rel="stylesheet" href="lib/reset.css"> | 
 |     </head> | 
 |     <body> | 
 |         <style> | 
 |             h1 { | 
 |                 line-height: 60px; | 
 |                 height: 60px; | 
 |                 background: #146402; | 
 |                 text-align: center; | 
 |                 font-weight: bold; | 
 |                 color: #eee; | 
 |                 font-size: 14px; | 
 |             } | 
 |             .chart { | 
 |                 height: 400px; | 
 |             } | 
 |         </style> | 
 |  | 
 |         <div class="chart" id="main1"></div> | 
 |         <h1>Narrow grid</h1> | 
 |         <div class="chart" id="main2"></div> | 
 |         <div class="chart" id="main3"></div> | 
 |         <div class="chart" id="main4"></div> | 
 |         <div class="chart" id="main5"></div> | 
 |         <div class="chart" id="main6"></div> | 
 |         <div class="chart" id="main7"></div> | 
 |  | 
 |  | 
 |         <script> | 
 |  | 
 |             require(['echarts'], function (echarts) { | 
 |  | 
 |                 var chart = echarts.init(document.getElementById('main1'), null, { | 
 |  | 
 |                 }); | 
 |                 chart.setOption({ | 
 |                     tooltip : { | 
 |                         trigger: 'axis', | 
 |                         axisPointer : {            // 坐标轴指示器,坐标轴触发有效 | 
 |                             type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow' | 
 |                         } | 
 |                     }, | 
 |                     legend: { | 
 |                         data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎','百度','谷歌','必应','其他'] | 
 |                     }, | 
 |                     toolbox: { | 
 |                         show : true, | 
 |                         orient: 'vertical', | 
 |                         left: 'right', | 
 |                         top: 'center', | 
 |                         feature : { | 
 |                             mark : {show: true}, | 
 |                             dataView : {show: true, readOnly: false}, | 
 |                             magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']}, | 
 |                             restore : {show: true}, | 
 |                             saveAsImage : {show: true} | 
 |                         } | 
 |                     }, | 
 |                     calculable : true, | 
 |                     xAxis : [ | 
 |                         { | 
 |                             type : 'category', | 
 |                             data : ['周一','周二','周三','周四','周五','周六','周日'] | 
 |                         } | 
 |                     ], | 
 |                     yAxis : [ | 
 |                         { | 
 |                             type : 'value' | 
 |                         } | 
 |                     ], | 
 |                     series : [ | 
 |                         { | 
 |                             seletedMode: 'series', | 
 |                             name:'直接访问', | 
 |                             type:'bar', | 
 |                             select: { | 
 |                                 itemStyle: { | 
 |                                     color: 'green' | 
 |                                 } | 
 |                             }, | 
 |                             data:[{value: 120, itemStyle: {selectable: false}}, 332, 301, 334, 390, 330, 320] | 
 |                         }, | 
 |                         { | 
 |                             name:'邮件营销', | 
 |                             type:'bar', | 
 |                             stack: '广告', | 
 |                             data:[120, 132, 101, 134, 90, 230, 210] | 
 |                         }, | 
 |                         { | 
 |                             name:'联盟广告', | 
 |                             type:'bar', | 
 |                             stack: '广告', | 
 |                             data:[220, 182, 191, 234, 290, 330, 310] | 
 |                         }, | 
 |                         { | 
 |                             name:'视频广告', | 
 |                             type:'bar', | 
 |                             stack: '广告', | 
 |                             data:[150, 232, 201, 154, 190, 330, 410] | 
 |                         }, | 
 |                         { | 
 |                             name:'搜索引擎', | 
 |                             type:'bar', | 
 |                             data:[862, 1018, 964, 1026, 1679, 1600, 1570], | 
 |                             markLine : { | 
 |                                 itemStyle:{ | 
 |                                     normal:{ | 
 |                                         label: { | 
 |                                             formatter: function (params) { | 
 |                                               console.log(params); | 
 |                                             } | 
 |                                         }, | 
 |                                         lineStyle:{ | 
 |                                             type: 'dashed' | 
 |                                         } | 
 |                                     } | 
 |                                 }, | 
 |                                 data : [ | 
 |                                     [{type : 'min'}, {type : 'max'}] | 
 |                                 ] | 
 |                             } | 
 |                         }, | 
 |                         { | 
 |                             name:'百度', | 
 |                             type:'bar', | 
 |                             barWidth : 5, | 
 |                             stack: '搜索引擎', | 
 |                             data:[620, 732, 701, 734, 1090, 1130, 1120] | 
 |                         }, | 
 |                         { | 
 |                             name:'谷歌', | 
 |                             type:'bar', | 
 |                             stack: '搜索引擎', | 
 |                             data:[120, 132, 101, 134, 290, 230, 220] | 
 |                         }, | 
 |                         { | 
 |                             name:'必应', | 
 |                             type:'bar', | 
 |                             stack: '搜索引擎', | 
 |                             data:[60, 72, 71, 74, 190, 130, 110] | 
 |                         }, | 
 |                         { | 
 |                             name:'其他', | 
 |                             type:'bar', | 
 |                             stack: '搜索引擎', | 
 |                             data:[62, 82, 91, 84, 109, 110, 120] | 
 |                         } | 
 |                     ] | 
 |                 }); | 
 |             }); | 
 |  | 
 |         </script> | 
 |  | 
 |  | 
 |  | 
 |         <script> | 
 |  | 
 |             var echarts; | 
 |             var chart; | 
 |             var myChart; | 
 |             var groupCategories = []; | 
 |             var groupColors = []; | 
 |  | 
 |             require(['echarts'], function (ec) { | 
 |                 echarts = ec; | 
 |  | 
 |                 option = { | 
 |                     color: [{ | 
 |                         type: 'linear', | 
 |                         colorStops: [{ | 
 |                             offset: 0, | 
 |                             color: 'rgba(42, 20, 20, 0.8)' | 
 |                         }, { | 
 |                             offset: 1, | 
 |                             color: 'rgba(42, 20, 20, 0)' | 
 |                         }], | 
 |                         x: 0.5, | 
 |                         y: 0, | 
 |                         x2: 0.49999999999999994, | 
 |                         y2: 1 | 
 |                     }], | 
 |                     xAxis: { | 
 |                         // data: ['a', 'b', 'c', 'd'], | 
 |                         data: ['a', 'b'], | 
 |                         axisTick: {show: false}, | 
 |                         axisLabel: { | 
 |                             formatter: 'barGap: \'-100%\'' | 
 |                         } | 
 |                     }, | 
 |                     yAxis: { | 
 |                         splitLine: {show: false} | 
 |                     }, | 
 |                     animationDurationUpdate: 1200, | 
 |                     grid: { | 
 |                         width: 100 | 
 |                     }, | 
 |                     animation: false, | 
 |                     series: [{ | 
 |                         type: 'bar', | 
 |                         itemStyle: { | 
 |                             normal: { | 
 |                                 color: '#ddd' | 
 |                             } | 
 |                         }, | 
 |                         silent: true, | 
 |                         barWidth: 40, | 
 |                         barGap: '-100%', // Make series be overlap | 
 |                         data: [60, 60], | 
 |                         label: { | 
 |                             show: true, | 
 |                             color: 'blue', | 
 |                             position: 'top' | 
 |                         } | 
 |                     }, { | 
 |                         type: 'bar', | 
 |                         barWidth: 40, | 
 |                         z: 10, | 
 |                         data: [45, 55] | 
 |                     }] | 
 |                 }; | 
 |  | 
 |                 testHelper.createChart(echarts, 'main2', option); | 
 |             }); | 
 |  | 
 |         </script> | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |         <script> | 
 |  | 
 |             var echarts; | 
 |             var chart; | 
 |             var myChart; | 
 |             var groupCategories = []; | 
 |             var groupColors = []; | 
 |  | 
 |             require([ | 
 |                 'echarts' | 
 |             ], function (ec) { | 
 |                 echarts = ec; | 
 |                 var dataCount = 10; | 
 |                 var dayTimestamp = 24 * 60 * 60 * 1000; | 
 |  | 
 |                 function makeSeriesData() { | 
 |                     var result = []; | 
 |                     var date = +(new Date(2019, 8, 10)); | 
 |                     for (var i = 0; i < dataCount; i++) { | 
 |                         result.push([+date, Math.random() * 1000]); | 
 |                         date += dayTimestamp; | 
 |                     } | 
 |                     return result; | 
 |                 } | 
 |  | 
 |                 option = { | 
 |                     xAxis: { | 
 |                         type: 'time', | 
 |                         boundaryGap: ['20%', '20%'], | 
 |                         splitLine: {show: false} | 
 |                     }, | 
 |                     yAxis: { | 
 |                         axisLine: {show: false}, | 
 |                         axisTick: {show: false}, | 
 |                         splitLine: {show: false} | 
 |                     }, | 
 |                     legend: {}, | 
 |                     series: [{ | 
 |                         name: 'barA1', | 
 |                         type: 'bar', | 
 |                         stack: 'a', | 
 |                         select: { | 
 |                                 itemStyle: { | 
 |                                     color: 'green' | 
 |                                 } | 
 |                             }, | 
 |                         itemStyle: { | 
 |                             shadowBlur: 10, | 
 |                             borderColor: '#ef1', | 
 |                             borderWidth: 5 | 
 |                         }, | 
 |                         data: makeSeriesData() | 
 |                     }, { | 
 |                         name: 'barA2', | 
 |                         type: 'bar', | 
 |                         stack: 'a', | 
 |                         itemStyle: { | 
 |                             borderColor: '#1dd', | 
 |                             borderWidth: 5 | 
 |                         }, | 
 |                         data: makeSeriesData() | 
 |                     }, { | 
 |                         name: 'barB', | 
 |                         type: 'bar', | 
 |                         itemStyle: { | 
 |                             shadowBlur: 5, | 
 |                             borderColor: '#ef1', | 
 |                             borderWidth: 3 | 
 |                         }, | 
 |                         data: makeSeriesData() | 
 |                     }] | 
 |                 }; | 
 |  | 
 |                 var chart = testHelper.create(echarts, 'main3', { | 
 |                     title: [ | 
 |                         'bar on time axis', | 
 |                         'click the legend, the bar should display normally' | 
 |                     ], | 
 |                     option: option | 
 |                     // recordCanvas: true | 
 |                 }); | 
 |             }); | 
 |  | 
 |         </script> | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |         <script> | 
 |  | 
 |             var echarts; | 
 |             var chart; | 
 |             var myChart; | 
 |             var groupCategories = []; | 
 |             var groupColors = []; | 
 |  | 
 |             require([ | 
 |                 'echarts' | 
 |             ], function (ec) { | 
 |                 echarts = ec; | 
 |                 var dataCount = 5; | 
 |  | 
 |                 function makeSeriesData() { | 
 |                     var result = []; | 
 |                     var date = 0; | 
 |                     for (var i = 0; i < dataCount; i++) { | 
 |                         result.push([+date, Math.random() * 1000]); | 
 |                         date += Math.ceil(Math.random() * 10); | 
 |                     } | 
 |                     return result; | 
 |                 } | 
 |                 var itemStyle = { | 
 |                     shadowBlur: 5 | 
 |                 }; | 
 |  | 
 |                 option = { | 
 |                     xAxis: { | 
 |                         scale: true, | 
 |                         // boundaryGap: ['0.5%', .1], | 
 |                         splitLine: {show: false} | 
 |                     }, | 
 |                     yAxis: { | 
 |                         axisLabel: { | 
 |                             margin: 40 | 
 |                         }, | 
 |                         axisLine: {show: false}, | 
 |                         axisTick: {show: false}, | 
 |                         splitLine: {show: false} | 
 |                     }, | 
 |                     dataZoom: [{ | 
 |                         type: 'slider' | 
 |                     }, { | 
 |                         type: 'inside' | 
 |                     }], | 
 |                     legend: {}, | 
 |                     series: [{ | 
 |                         name: 'barA', | 
 |                         type: 'bar', | 
 |                         itemStyle: itemStyle, | 
 |                         data: makeSeriesData() | 
 |                     }, { | 
 |                         name: 'barB', | 
 |                         type: 'bar', | 
 |                         itemStyle: itemStyle, | 
 |                         data: makeSeriesData() | 
 |                     }], | 
 |                     animation: false | 
 |                 }; | 
 |  | 
 |                 var chart = testHelper.create(echarts, 'main4', { | 
 |                     title: [ | 
 |                         'bar on value axis', | 
 |                         'click the legend, the bar should display normally' | 
 |                     ], | 
 |                     option: option | 
 |                     // recordCanvas: true | 
 |                 }); | 
 |             }); | 
 |  | 
 |         </script> | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |         <script> | 
 |  | 
 |             var echarts; | 
 |             var chart; | 
 |             var myChart; | 
 |             var groupCategories = []; | 
 |             var groupColors = []; | 
 |  | 
 |             require([ | 
 |                 'echarts' | 
 |             ], function (ec) { | 
 |                 echarts = ec; | 
 |                 var dataCount = 10; | 
 |  | 
 |                 function makeSeriesData() { | 
 |                     var result = []; | 
 |                     var date = 10; | 
 |                     for (var i = 0; i < dataCount; i++) { | 
 |                         result.push([+date, Math.random() * 1000]); | 
 |                         date += 1; | 
 |                     } | 
 |                     return result; | 
 |                 } | 
 |                 var itemStyle = { | 
 |                     shadowBlur: 5 | 
 |                 }; | 
 |  | 
 |                 option = { | 
 |                     xAxis: { | 
 |                         type: 'category', | 
 |                         scale: true, | 
 |                         boundaryGap: false, | 
 |                         splitLine: {show: false}, | 
 |                         axisLine: {show: false} | 
 |                     }, | 
 |                     yAxis: { | 
 |                         axisLabel: { | 
 |                             margin: 40 | 
 |                         }, | 
 |                         axisLine: {show: false}, | 
 |                         axisTick: {show: false}, | 
 |                         splitLine: {show: false} | 
 |                     }, | 
 |                     legend: {}, | 
 |                     series: [{ | 
 |                         name: 'lineA', | 
 |                         type: 'line', | 
 |                         data: makeSeriesData() | 
 |                     }, { | 
 |                         name: 'barA', | 
 |                         type: 'bar', | 
 |                         itemStyle: itemStyle, | 
 |                         data: makeSeriesData() | 
 |                     }, { | 
 |                         name: 'barB', | 
 |                         type: 'bar', | 
 |                         itemStyle: itemStyle, | 
 |                         data: makeSeriesData() | 
 |                     }] | 
 |                 }; | 
 |  | 
 |                 var chart = testHelper.create(echarts, 'main5', { | 
 |                     title: [ | 
 |                         'bar on category axis', | 
 |                         'click the legend, the bar should display normally' | 
 |                     ], | 
 |                     option: option | 
 |                     // recordCanvas: true | 
 |                 }); | 
 |             }); | 
 |  | 
 |         </script> | 
 |  | 
 |  | 
 |  | 
 |  | 
 |         <script> | 
 |             require(['echarts'], function (echarts) { | 
 |                 option = { | 
 |                     animation: false, | 
 |                     dataZoom: [ | 
 |                         { | 
 |                             "type": "slider", | 
 |                             "show": true | 
 |                         } | 
 |                     ], | 
 |                     color: ['#003366', '#e5323e'], | 
 |                     legend: { | 
 |                         data: ['Forest', 'Desert'] | 
 |                     }, | 
 |                     xAxis: [ | 
 |                         { | 
 |                             type: 'time' | 
 |                         } | 
 |                     ], | 
 |                     yAxis: [ | 
 |                         { | 
 |                             type: 'value' | 
 |                         } | 
 |                     ], | 
 |                     series: [ | 
 |                         { | 
 |                             name: 'Forest', | 
 |                             type: 'bar', | 
 |                             barGap: 0, | 
 |                             data: [["2017-05-26", 320], ["2017-05-25", 340], ["2017-05-24", 310]] | 
 |                         }, | 
 |                         { | 
 |                             name: 'Desert', | 
 |                             type: 'bar', | 
 |                             data: [["2017-05-26", 240], ["2017-05-24", 315]] | 
 |                         } | 
 |                     ] | 
 |                 }; | 
 |  | 
 |                 var chart = testHelper.create(echarts, 'main6', { | 
 |                     title: [ | 
 |                         'Bar series with time axis', | 
 |                         'Zoom in and bars should not overlap' | 
 |                     ], | 
 |                     option: option | 
 |                 }); | 
 |             }); | 
 |         </script> | 
 |  | 
 |         <script> | 
 |             require(['echarts'], function (echarts) { | 
 |                 option = { | 
 |                     xAxis: { | 
 |                         type: 'category', | 
 |                         data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] | 
 |                     }, | 
 |                     yAxis: { | 
 |                         type: 'value' | 
 |                     }, | 
 |                     series: [ | 
 |                         { | 
 |                             data: [120, 200, 150, 80, 70, 110, 130], | 
 |                             type: 'bar', | 
 |                             showBackground: true, | 
 |                             backgroundStyle: { | 
 |                                 color: 'rgba(180, 180, 180, 0.2)' | 
 |                             }, | 
 |                             select: { | 
 |                                 itemStyle: { | 
 |                                     color: 'red' | 
 |                                 } | 
 |                             }, | 
 |                             selectedMode: 'single', | 
 |                             stack: 'all', | 
 |                             emphasis: {focus: 'series', blurScope: 'coordinateSystem'} | 
 |  | 
 |                         }, | 
 |                         { | 
 |                             data: [120, 200, 150, 80, 70, 110, 130], | 
 |                             type: 'bar', | 
 |                             showBackground: true, | 
 |                             backgroundStyle: { | 
 |                                 color: 'rgba(180, 180, 180, 0.2)' | 
 |                             }, | 
 |                             select: { | 
 |                                 itemStyle: { | 
 |                                     color: 'yellow' | 
 |                                 } | 
 |                             }, | 
 |                             selectedMode: 'single', | 
 |                             stack: 'all', | 
 |                             emphasis: {focus: 'series', blurScope: 'coordinateSystem'} | 
 |  | 
 |                         }, | 
 |                         { | 
 |                             data: [130, { | 
 |                                 value: 120, | 
 |                                 select: { | 
 |                                     disabled: true | 
 |                                 } | 
 |                             }, 160, { | 
 |                                 value: 120, | 
 |                                 selected: true | 
 |                             }, 170, { | 
 |                                 value: 210, | 
 |                                 selected: true | 
 |                             }, 230], | 
 |                             type: 'bar', | 
 |                             showBackground: true, | 
 |                             backgroundStyle: { | 
 |                                 color: 'rgba(180, 180, 180, 0.2)' | 
 |                             }, | 
 |                             stack: 'all', | 
 |                             select: { | 
 |                                 itemStyle: { | 
 |                                     color: 'green' | 
 |                                 } | 
 |                             }, | 
 |                             emphasis: {focus: 'series', blurScope: 'coordinateSystem'}, | 
 |  | 
 |                             selectedMode: 'single', | 
 |  | 
 |                         } | 
 |                     ] | 
 |                 } | 
 |  | 
 |   | 
 |  | 
 |                 var chart = testHelper.create(echarts, 'main7', { | 
 |                     title: [ | 
 |                         'Select in Bar Series', | 
 |                         'Click on bar will turn whole series into select state, expect second item in second serie whose select has been disbale' | 
 |                     ], | 
 |                     option: option, | 
 |                     button: [ | 
 |                         { | 
 |                             text: 'Click to update selectedMode to \'single\'', | 
 |                             onClick: () => { | 
 |                                 chart.setOption({ | 
 |                                     series: [ | 
 |                                         { selectedMode: 'single' }, | 
 |                                         { selectedMode: 'single' }, | 
 |                                         { selectedMode: 'single' }, | 
 |                                     ] | 
 |                                 }) | 
 |                             } | 
 |                         }, | 
 |                         { | 
 |                             text: 'Click to update selectedMode \'multiple\'', | 
 |                             onClick: () => { | 
 |                                 chart.setOption({ | 
 |                                     series: [ | 
 |                                         { selectedMode: 'multiple' }, | 
 |                                         { selectedMode: 'multiple' }, | 
 |                                         { selectedMode: 'multiple' }, | 
 |                                     ] | 
 |                                 }) | 
 |                             } | 
 |                         }, | 
 |                         { | 
 |                             text: 'Click to update selectedMode \'series\'', | 
 |                             onClick: () => { | 
 |                                 chart.setOption({ | 
 |                                     series: [ | 
 |                                         { selectedMode: 'series' }, | 
 |                                         { selectedMode: 'series' }, | 
 |                                         { selectedMode: 'series' }, | 
 |                                     ] | 
 |                                 }) | 
 |                             } | 
 |                         }, | 
 |                     ] | 
 |                 }); | 
 |             }); | 
 |         </script> | 
 |  | 
 |  | 
 |     </body> | 
 | </html> |