Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(bar): barMinHeight invalid. close #16565 #16572

Closed
wants to merge 1 commit into from

Conversation

jttry
Copy link

@jttry jttry commented Feb 24, 2022

This is a bug probably brought in #16338.

@echarts-bot
Copy link

echarts-bot bot commented Feb 24, 2022

Thanks for your contribution!
The community will review it ASAP. In the meanwhile, please checkout the coding standard and Wiki about How to make a pull request.

Copy link
Contributor

@Ovilia Ovilia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for late review. Please also add a test file test/bar-stack-minHeight.html.

The following is the test content:

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






        <script>
        require([
            'echarts',
            // 'map/js/china',
            // './data/nutrients.json'
        ], function (echarts) {
            var option;

            option = {
                xAxis: {
                    type: 'value'
                },
                yAxis: {
                    type: 'category',
                    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
                },
                series: [
                    {
                        type: 'bar',
                        stack: 'total',
                        barMinHeight: 15,
                        data: [0, 0, 0, 0, 0, 0, 0]
                    },
                    {
                        type: 'bar',
                        stack: 'total',
                        barMinHeight: 15,
                        data: [0, 0, 0, 0, 0, 0, 0]
                    }
                ]
            };

            var chart = testHelper.create(echarts, 'main0', {
                title: [
                    'Stacked bar series with minHeight (horizontal)'
                ],
                option: option
                // height: 300,
                // buttons: [{text: 'btn-txt', onclick: function () {}}],
                // recordCanvas: true,
            });
        });
        </script>



        <script>
            require([
                'echarts',
                // 'map/js/china',
                // './data/nutrients.json'
            ], function (echarts) {
                var option;

                option = {
                    yAxis: {
                        type: 'value'
                    },
                    xAxis: {
                        type: 'category',
                        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
                    },
                    series: [
                        {
                            type: 'bar',
                            stack: 'total',
                            barMinHeight: 15,
                            data: [0, 0, 0, 0, 0, 0, 0]
                        },
                        {
                            type: 'bar',
                            stack: 'total',
                            barMinHeight: 15,
                            data: [0, 0, 0, 0, 0, 0, 0]
                        }
                    ]
                };

                var chart = testHelper.create(echarts, 'main1', {
                    title: [
                        'Stacked bar series with minHeight (vertical)'
                    ],
                    option: option
                    // height: 300,
                    // buttons: [{text: 'btn-txt', onclick: function () {}}],
                    // recordCanvas: true,
                });
            });
            </script>

    </body>
</html>

@@ -533,14 +538,18 @@ export function createProgressiveLayout(seriesType: string): StageHandler {
const startCoord = cartesian.dataToPoint([startValue, baseValue]);
baseCoord = startCoord[0];
}
x = baseCoord;
x = lastStackCoords[baseValue] || baseCoord;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lastStackCoords[baseValue] could be 0 (e.g., grid.left is 0) so using || is not correct. Use retrieve2 instead.

@echarts-bot
Copy link

echarts-bot bot commented Mar 3, 2023

To reviewers: If this PR is going to be described in the changelog in the future release, please make sure this PR has one of the following labels: PR: doc ready, PR: awaiting doc, PR: doc unchanged

This message is shown because the PR description doesn't contain the document related template.

@Ovilia
Copy link
Contributor

Ovilia commented Mar 3, 2023

Since @jttry didn't respond for some time. I'm going to close this PR and fix it by myself. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug] 5.3.0 bar stack datavalue=0无法正常堆叠
2 participants