Justin-ZS opened a new pull request, #21218: URL: https://github.com/apache/echarts/pull/21218
<!-- Please fill in the following information to help us review your PR more efficiently. --> ## Brief Information This pull request is in the type of: - [x] bug fixing - [ ] new feature - [ ] others ### What does this PR do? <!-- USE ONE SENTENCE TO DESCRIBE WHAT THIS PR DOES. --> Fix incorrect data label position when bar width/height is 0. <img width="1325" height="572" alt="截屏2025-08-22 14 15 30" src="https://github.com/user-attachments/assets/336d0a37-c0b4-4572-85d6-d9ee75a37b9d" /> ### Fixed issues <!-- - #xxxx: ... --> - #21144 ## Details ### Before: What was the problem? <!-- DESCRIBE THE BUG OR REQUIREMENT HERE. --> When a bar has zero width or height (data value is 0), the label position calculation for `label.position: 'outside'` was incorrect, especially when the axis is inverted. The original logic only checked `layout.height >= 0` or `layout.width >= 0` without considering axis inversion, causing labels to appear in wrong positions. <!-- ADD SCREENSHOT HERE IF APPLICABLE. --> ### After: How does it behave after the fixing? <!-- THE RESULT AFTER FIXING AND A SIMPLE EXPLANATION ABOUT HOW IT IS FIXED. --> Added two helper functions `getLabelPositionForHorizontal` and `getLabelPositionForVertical` to properly handle label positioning when bar dimensions are zero. The functions check the value axis's `inverse` property to determine the correct label position, ensuring labels appear correctly regardless of axis configuration. <!-- ADD SCREENSHOT HERE IF APPLICABLE. --> ## Document Info One of the following should be checked. - [x] This PR doesn't relate to document changes - [ ] The document should be updated later - [ ] The document changes have been made in apache/echarts-doc#xxx ## Misc ### ZRender Changes - [ ] This PR depends on ZRender changes (ecomfe/zrender#xxx). ### Related test cases or examples to use the new APIs N.A. ## Others ### Merging options - [ ] Please squash the commits into a single one when merging. ### Other information Modified `src/chart/bar/BarView.ts` to replace simple ternary operators with smarter function calls that consider axis inversion when determining label positions for zero-dimension bars. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
