|  |  | 
|  | <!-- | 
|  | 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> |