-
Notifications
You must be signed in to change notification settings - Fork 19.6k
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
fix(boxplot) correctly handle series.encode with category axis #20324
Conversation
Thanks for your contribution! |
The changes brought by this PR can be previewed at: https://echarts.apache.org/examples/editor?version=PR-20324@399fb2f |
There was a problem hiding this 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.
src/chart/helper/whiskerBoxCommon.ts
Outdated
*/ | ||
_hasEncodeRule(key: string) { | ||
const encodeRules = this.getEncode(); | ||
if(encodeRules?.data?.has(key)) |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
bc5c888
to
41ff0b0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's just a minor issue. Everything else seems fine to me.
src/chart/helper/whiskerBoxCommon.ts
Outdated
_hasEncodeRule(key: string) { | ||
const encodeRules = this.getEncode(); | ||
if (encodeRules && encodeRules.data && encodeRules.data.has(key)) { | ||
return encodeRules.data.get(key) !== null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using !=
instead of !==
please.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, changes pushed
Please don't use forced push because it would be hard to track the changes of previous reviews. |
Congratulations! Your PR has been merged. Thanks for your contribution! 👍 |
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! |
Brief Information
This pull request is in the type of:
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.
Misc
ZRender Changes
Related test cases or examples to use the new APIs
test/boxplot-category.html added to show visual example.
Others
Merging options
Other information