Skip to content

fix: render boxPlot outliers after updateDataSync from empty data - #3

Closed
dyk1454683243-sudo wants to merge 1 commit into
developfrom
cursor/fix-boxplot-outliers-updatedatasync-4270-b8e8
Closed

dyk1454683243-sudo wants to merge 1 commit into
developfrom
cursor/fix-boxplot-outliers-updatedatasync-4270-b8e8

Conversation

@dyk1454683243-sudo

Copy link
Copy Markdown
Owner

Fixes VisActor#4270

🤔 This is a ...

  • Bug fix
  • Test Case

🔗 Related issue link

Fixes VisActor#4270

🔗 Related PR link

Separate from VisActor#4693 / VisActor#4694. Branched from current upstream develop.

💡 Background and solution

Constructing a boxPlot with empty data plus outliersField, then filling via updateDataSync, did not render outlier points from the array field (they do render when the same data is present at init).

getStatisticFields() only rewrote operations when outliersField was already present in super.getStatisticFields(). Empty initial data can omit that key, so the field never received ['array-min', 'array-max'] and later updateDataSync could not expand the value domain / fold outliers correctly.

This change always registers outliersField with array-min / array-max when the spec sets it (update if present, push if missing). foldOutlierData and viewDataUpdate → _outlierData.updateData() are unchanged.

📝 Changelog

Language Changelog
🇺🇸 English fix: register boxPlot outliersField statistics so updateDataSync from empty data still renders outlier points
🇨🇳 Chinese 修复:空初始数据时仍为 outliersField 注册 array-min/array-max 统计,使 updateDataSync 后异常点能正常渲染

☑️ Self-Check before Merge

  • Doc is updated/provided or not needed
  • Demo is updated/provided or not needed
  • TypeScript definition is updated/provided or not needed
  • Changelog is provided or not needed

Tests

  • getStatisticFields() adds or rewrites the outliersField entry with ['array-min', 'array-max'] when the key is missing or present, and does nothing when outliersField is unset.
  • Chart repro: empty values + outliersField: 'y6' → updateData('boxPlot', y6 array rows) produces folded outlier rows [12.01, 12.02, 14.03] and y6 min/max statistics.
  • Non-empty init with the same outliersField still folds those rows.
  • foldOutlierData still expands each numeric value in an outliers array.

Verification

Lint/test on touched packages will be recorded after this pre-testing revision.

Open in Web Open in Cursor 

…ataSync

Register array-min/array-max for outliersField even when empty initial data omits that key, so updateDataSync can render outlier points.

Co-authored-by: David <dyk1454683243-sudo@users.noreply.github.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-20T02:20:24.656835Z 72db65d PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] boxPlot outliersField not work

2 participants