|  | 
 | <!-- | 
 | 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> | 
 |         <script src="lib/draggable.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> | 
 |         <div class="chart" id="main2"></div> | 
 |         <div class="chart" id="main3" style="height: 600px;"></div> | 
 |  | 
 |  | 
 |         <script> | 
 |  | 
 |             require([ | 
 |                 'echarts' | 
 |             ], function (echarts) { | 
 |                 var data = [ | 
 |                     [7880,6.52], | 
 |                     [7881,3.18], // very near 7880, which makes the bar very thin | 
 |                     [6110,2.68], | 
 |                     [7390,9.55], | 
 |                     [7250,5.59], | 
 |                     [7300,7.43], | 
 |                     [3980,8.54], | 
 |                     [4290,3.22], | 
 |                     [500,4.68], | 
 |                     [1720,5.15], | 
 |                     [900,9], | 
 |                     [910,10] | 
 |                 ]; | 
 |  | 
 |                 function makeOption() { | 
 |                     var option = { | 
 |                         tooltip: {}, | 
 |                         xAxis: { | 
 |                         }, | 
 |                         yAxis: { | 
 |                         }, | 
 |                         dataZoom: | 
 |                         [{ | 
 |                             type: 'inside' | 
 |                         }, { | 
 |                             type: 'slider' | 
 |                         }], | 
 |                         series: { | 
 |                             type: 'bar', | 
 |                             label: { | 
 |                                 show: true, | 
 |                                 position: 'top' | 
 |                             }, | 
 |                             data: data | 
 |                         }, | 
 |                         title: { | 
 |                             text: 'no barMinWidth, no barMaxWidth specifed' | 
 |                         } | 
 |                     }; | 
 |                     return option; | 
 |                 } | 
 |  | 
 |                 var chart = testHelper.create(echarts, 'main1', { | 
 |                     title: [ | 
 |                         'On `value` axis.', | 
 |                         'Test **barMinWidth** and **barMaxWidth**: move dataZoom, ', | 
 |                         'bar should be **visible** ', | 
 |                         '**bar width** should be correct as the title described.' | 
 |                     ], | 
 |                     height: 200, | 
 |                     option: makeOption(), | 
 |                     buttons: [{ | 
 |                         text: 'barMinWidth: 10', | 
 |                         onclick: function () { | 
 |                             var option = makeOption(); | 
 |                             option.title.text = 'barMinWidth: 10, no barMaxWidth'; | 
 |                             option.series.barMinWidth = 10; | 
 |                             chart.setOption(option, true); | 
 |                         } | 
 |                     }, { | 
 |                         text: 'barMinWidth: 10, barMaxWidth: 40', | 
 |                         onclick: function () { | 
 |                             var option = makeOption(); | 
 |                             option.title.text = 'barMinWidth: 10, barMaxWidth: 40'; | 
 |                             option.series.barMinWidth = 10; | 
 |                             option.series.barMaxWidth = 40; | 
 |                             chart.setOption(option, true); | 
 |                         } | 
 |                     }, { | 
 |                         text: 'barMaxWidth: 40', | 
 |                         onclick: function () { | 
 |                             var option = makeOption(); | 
 |                             option.title.text = 'no barMinWidth, barMaxWidth: 40'; | 
 |                             option.series.barMaxWidth = 40; | 
 |                             chart.setOption(option, true); | 
 |                         } | 
 |                     }, { | 
 |                         text: 'barWidth: 60, barMaxWidth: 20', | 
 |                         onclick: function () { | 
 |                             var option = makeOption(); | 
 |                             option.title.text = 'barWidth: 60, barMaxWidth: 20, final bar width should keep 20'; | 
 |                             option.series.barWidth = 60; | 
 |                             option.series.barMaxWidth = 20; | 
 |                             chart.setOption(option, true); | 
 |                         } | 
 |                     }] | 
 |                 }); | 
 |             }); | 
 |  | 
 |         </script> | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |         <script> | 
 |  | 
 |             require([ | 
 |                 'echarts' | 
 |             ], function (echarts) { | 
 |                 var data = []; | 
 |                 for (var i = 0; i < 80; i++) { | 
 |                     data.push(['a' + i, 10]); | 
 |                 } | 
 |  | 
 |                 function makeOption() { | 
 |                     var option = { | 
 |                         tooltip: {}, | 
 |                         xAxis: { | 
 |                             type: 'category' | 
 |                         }, | 
 |                         yAxis: { | 
 |                         }, | 
 |                         dataZoom: | 
 |                         [{ | 
 |                             type: 'inside' | 
 |                         }, { | 
 |                             type: 'slider' | 
 |                         }], | 
 |                         series: { | 
 |                             type: 'bar', | 
 |                             data: data | 
 |                         }, | 
 |                         title: { | 
 |                             text: 'no barMinWidth, no barMaxWidth specifed' | 
 |                         } | 
 |                     }; | 
 |                     return option; | 
 |                 } | 
 |  | 
 |                 var chart = testHelper.create(echarts, 'main2', { | 
 |                     title: [ | 
 |                         'On `category` axis.', | 
 |                         'Test **barMinWidth** and **barMaxWidth**: move dataZoom, ', | 
 |                         'bar should be **visible**.', | 
 |                         '**bar width** should be correct as the title described.' | 
 |                     ], | 
 |                     height: 200, | 
 |                     width: 600, | 
 |                     option: makeOption(), | 
 |                     buttons: [{ | 
 |                         text: 'barMinWidth: 10', | 
 |                         onclick: function () { | 
 |                             var option = makeOption(); | 
 |                             option.title.text = 'barMinWidth: 10, no barMaxWidth'; | 
 |                             option.series.barMinWidth = 10; | 
 |                             chart.setOption(option, true); | 
 |                         } | 
 |                     }, { | 
 |                         text: 'barMinWidth: 10, barMaxWidth: 40', | 
 |                         onclick: function () { | 
 |                             var option = makeOption(); | 
 |                             option.title.text = 'barMinWidth: 10, barMaxWidth: 40'; | 
 |                             option.series.barMinWidth = 10; | 
 |                             option.series.barMaxWidth = 40; | 
 |                             chart.setOption(option, true); | 
 |                         } | 
 |                     }, { | 
 |                         text: 'barMaxWidth: 40', | 
 |                         onclick: function () { | 
 |                             var option = makeOption(); | 
 |                             option.title.text = 'no barMinWidth, barMaxWidth: 40'; | 
 |                             option.series.barMaxWidth = 40; | 
 |                             chart.setOption(option, true); | 
 |                         } | 
 |                     }, { | 
 |                         text: 'barWidth: "98%", barMaxWidth: 20', | 
 |                         onclick: function () { | 
 |                             var option = makeOption(); | 
 |                             option.title.text = 'barWidth: "98%", barMaxWidth: 20\nfinal bar width should not over 20'; | 
 |                             option.series.barWidth = '98%'; | 
 |                             option.series.barMaxWidth = 20; | 
 |                             chart.setOption(option, true); | 
 |                         } | 
 |                     }, { | 
 |                         text: 'barWidth: 60, barMaxWidth: 20', | 
 |                         onclick: function () { | 
 |                             var option = makeOption(); | 
 |                             option.title.text = 'barWidth: 60, barMaxWidth: 20\nfinal bar width should keep 20'; | 
 |                             option.series.barWidth = 60; | 
 |                             option.series.barMaxWidth = 20; | 
 |                             chart.setOption(option, true); | 
 |                         } | 
 |                     }] | 
 |                 }); | 
 |             }); | 
 |  | 
 |         </script> | 
 |  | 
 |  | 
 |         <script> | 
 |  | 
 |             require([ | 
 |                 'echarts' | 
 |             ], function (echarts) { | 
 |                 var cat = []; | 
 |                 var data3 = []; | 
 |                 var data4 = []; | 
 |                 var days = 20; | 
 |                 for (var i = 0; i < days; i++) { | 
 |                     cat.push(i); | 
 |                     data3.push(i * 2); | 
 |                     data4.push(50 - i * 2); | 
 |                 } | 
 |                 var option = { | 
 |                     title: { | 
 |                         name: "数据纯属虚构" | 
 |                     }, | 
 |                     tooltip: { | 
 |                         trigger: "axis", | 
 |                         axisPointer: { | 
 |                             type: "shadow" | 
 |                         } | 
 |                     }, | 
 |                     xAxis: { | 
 |                         type: "category", | 
 |                         data: cat, | 
 |                         interval: 1, | 
 |                     }, | 
 |                     yAxis: { | 
 |                         type: "value", | 
 |                         min: 0, | 
 |                     }, | 
 |                     series: [ | 
 |                         { | 
 |                             type: "bar", | 
 |                             name: "系列3", | 
 |                             barMaxWidth: 20, | 
 |                             data: data3, | 
 |                         }, { | 
 |                             type: "bar", | 
 |                             name: "系列4", | 
 |                             barMaxWidth: 20, | 
 |                             data: data4, | 
 |                             barGap: "-100%", | 
 |                         } | 
 |                     ], | 
 |                 }; | 
 |  | 
 |                 var chart = testHelper.create(echarts, 'main3', { | 
 |                     title: [ | 
 |                         'Two series of bar should have same width if barGap is set to -100%, and barMaxWidth is set', | 
 |                         'Case from #7356' | 
 |                     ], | 
 |                     draggable: true, | 
 |                     width: 700, | 
 |                     option: option, | 
 |                     buttons: [] | 
 |                 }); | 
 |             }); | 
 |  | 
 |         </script> | 
 |  | 
 |  | 
 |     </body> | 
 | </html> |