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(boxplot) correctly handle series.encode with category axis #20324

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jonoshearman
Copy link

Brief Information

This pull request is in the type of:

  • bug fixing
  • new feature
  • others

What does this PR do?

Fixes issue with series.encode for boxplot when category axis is used.

Fixed issues

#20319

Details

Before: What was the problem?

When a category axis is used for a boxplot series, an ordinalValue is always inserted to the series.data which breaks any encoding rules. if the category axis does not set it's own data then the axis labels will be the integer ordinalValue.

After: How does it behave after the fixing?

Now if an encode rule is applied for the associated axis (x/y) then the ordinalValue is not inserted and the encoding rules work as expected.

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/boxplot-category.html added to show visual example.

Others

Merging options

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

Other information

Copy link

echarts-bot bot commented Sep 5, 2024

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.

@jonoshearman jonoshearman changed the title feat(boxplot) correctly handle series.encode with category axis fix(boxplot) correctly handle series.encode with category axis Sep 10, 2024
Copy link
Contributor

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

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.

Thanks for your contribution. Please fix the lint problems.

*/
_hasEncodeRule(key: string) {
const encodeRules = this.getEncode();
if(encodeRules?.data?.has(key))
Copy link
Contributor

Choose a reason for hiding this comment

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

We avoid using ?. under compatible considerations. Please use encodeRules && encodeRules.data && encodeRules.data.has(key) instead.

Copy link
Author

Choose a reason for hiding this comment

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

Thanks for the review @Ovilia
Changes pushed.

@Ovilia Ovilia added this to the 5.5.2 milestone Sep 20, 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.

2 participants