Skip to content

fix(legend): Fix legend text overflow and improve layout handling #20967

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

Merged
merged 1 commit into from
Jun 23, 2025

Conversation

SchnWalter
Copy link
Contributor

Brief Information

This pull request is in the type of:

  • bug fixing
  • new feature
  • others

What does this PR do?

Improve the overall user experience by ensuring legends are displayed properly, avoiding overflow issues with lengthy item labels or limited space.

Additionally, a new test has been provided to demonstrate and verify the changes by comparing the behavior before and after applying the changes.

Fixed issues

Details

Before: What was the problem?

The legend has a width of 128px and the overflow is configured to break words, but it doesn't do anything.

image

After: How does it behave after the fixing?

The legend item text overflow is working correctly.

image

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

  • test/legend-overflow.html

Others

Merging options

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

Other information

Copy link

echarts-bot bot commented May 12, 2025

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

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

@Ovilia Ovilia merged commit fccb3f3 into apache:master Jun 23, 2025
2 checks passed
Copy link

echarts-bot bot commented Jun 23, 2025

Congratulations! Your PR has been merged. Thanks for your contribution! 👍

@Ovilia Ovilia changed the title fix(legend): Fix text overflow and improve layout handling. (#20237) fix(legend): Fix legend text overflow and improve layout handling Jun 23, 2025
@@ -469,7 +473,8 @@ class LegendView extends ComponentView {
y: itemHeight / 2,
fill: textColor,
align: textAlign,
verticalAlign: 'middle'
verticalAlign: 'middle',
width: maxSize.width - textX,
Copy link
Member

Choose a reason for hiding this comment

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

If legend is layout horizontally, the "break" effect would be wrong.
And if the text has textStyle.backgroundColor, the effect would be broken by this change, since textStyle.width is shared by backgroundColor and overflow currently.

I think this feature currently can only serve for vertical layout.
And set width only if overflow: 'truncate' | 'break' | 'breakAll', for textStyle.backgroundColor` compromise.

And zrender need upgrade to support a more wise setting about text width, like maxWidth.

Copy link
Contributor

Choose a reason for hiding this comment

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

OK. Let's leave this to the next version.

@Ovilia Ovilia modified the milestones: 6.0.0, 6.x Jun 23, 2025
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.

3 participants