Skip to content

fix(visualMap): handle label collides with horizontal size visualMap - #20249

Merged
Ovilia merged 4 commits into
apache:masterfrom
WojciechKrakowiak:fix-20248
Oct 17, 2024
Merged

Ovilia merged 4 commits into
apache:masterfrom
WojciechKrakowiak:fix-20248

Conversation

@WojciechKrakowiak

@WojciechKrakowiak WojciechKrakowiak commented Aug 12, 2024 •

Copy link
Copy Markdown
Contributor

Brief Information

This pull request is in the type of:

  • bug fixing
  • new feature
  • others

What does this PR do?

It switches visualMap handle label vertical align property basing on the visual map orientation and layout.

Fixed issues

Details

Before: What was the problem?

Label for handle at minimum position collides with the handle. The reason is that the distance between label and handle is based on the handle size and it changes depending on handle position. Currently label has always verticalAlign set to "middle", which is the cause of the collision (when distance is less than the half of the label height, the items collide). For labels below, vertical align could be "top" and for labels above, vertical align could be "bottom".

before

After: How does it behave after the fixing?

The labels below maximum range in horizontal visualMap get a slight offset to avoid collision.
This solution is not perfect, as the calculation method is different for vertical and horizontal visualMap, but I see no better way for now, to both fix the issue and keep other labels positions unchanged.

Screenshot 2024-08-13 at 12 05 41

Document Info

One of the following should be checked.

  • 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

  • visualMap-layout.html – duplicated cases for color visualMap, to cover all cases for size visualMap
  • visualMap-continuous.html – added a case that gathers color and size visualMap in all positions on single chart (the case presented in examples)

Others

Merging options

  • Please squash the commits into a single one when merging.

Other information

@echarts-bot

echarts-bot Bot commented Aug 12, 2024

Copy link
Copy Markdown

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.

@github-actions

github-actions Bot commented Aug 13, 2024 •

Copy link
Copy Markdown
Contributor

The changes brought by this PR can be previewed at: https://echarts.apache.org/examples/editor?version=PR-20249@dd131a0

@Ovilia Ovilia left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It seems to break down some default label positions. You may check them by running npm run test:visual and run the demos containing "visualMap".

image

@WojciechKrakowiak

Copy link
Copy Markdown
Contributor Author

It seems to break down some default label positions. You may check them by running npm run test:visual and run the demos containing "visualMap".

image

Thank you for quick review. I implemented other solution, that affects only cases, where the labels collide. I updated the description and the screenshots.

I also noticed, that visualMap-continuous displays only one case in automated tests (while the file consists of 5 tests now). I fixed that issue, by changing the container height from relative to absolute (also did some minor refactor of the test code).

BEFORE (only first test case rendered):
Screenshot 2024-08-13 at 12 02 41

AFTER (all test cases rendered):
Screenshot 2024-08-13 at 12 03 53

@WojciechKrakowiak

Copy link
Copy Markdown
Contributor Author

Better review the test file changes with the ignore of the whitespace enabled (refactor affected the indentations).

@WojciechKrakowiak

Copy link
Copy Markdown
Contributor Author

@Ovilia is there anything more I should do, or anyone I should consult with regarding these changes?

@Ovilia Ovilia left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We sincerely appreciate your valuable contributions! We are currently running a special promotion for users who submit a Pull Request between September 25, 2024, and December 31, 2024. Eligible participants will receive a two-year enterprise membership to Baidu Comate, valued at 2000 RMB (approximately 285 USD).

To learn more about this product, please visit https://comate.baidu.com/. If you are interested in this offer, kindly send an email with the link to your Pull Request along with your Comate username and email address to ovilia@apache.org to claim your membership.

Thank you once again for your support!

@Ovilia
Ovilia merged commit 3277f98 into apache:master Oct 17, 2024
@echarts-bot

echarts-bot Bot commented Oct 17, 2024

Copy link
Copy Markdown

Congratulations! Your PR has been merged. Thanks for your contribution! πŸ‘

@Ovilia Ovilia added this to the 5.5.2 milestone Oct 17, 2024
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] Size VisualMap label collides in horizontal position

2 participants