feat(visualization): export the charts that draw over a table's columns - #8365
feat(visualization): export the charts that draw over a table's columns#8365kz930 wants to merge 3 commits into
Conversation
Sixteen plots whose shape comes from the columns they are pointed at: the bar, line and pie, the histograms, the scatter family, the box and violin, the strip and the ECDF, the heat map, the candlestick, the funnel and the dot plot. A line's series configuration and an error band's are one type extending the other, so they travel together. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Automated Reviewer SuggestionsBased on the
|
📊 Arrow Flight E2E bench(no arrow-flight-e2e.csv in artifact) |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8365 +/- ##
============================================
- Coverage 94.11% 94.10% -0.02%
- Complexity 4811 4842 +31
============================================
Files 1197 1203 +6
Lines 48813 48951 +138
Branches 5906 5930 +24
============================================
+ Hits 45939 46063 +124
+ Misses 1420 1419 -1
- Partials 1454 1469 +15
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
carloea2
left a comment
There was a problem hiding this comment.
Bubble Chart and Histogram 2D change in1df with dropna in place. This can change data used by another branch of the exported workflow. Please keep the input unchanged and test a shared upstream DataFrame.
The translator no longer emits plotly into every script; it asks the operators in the plan what they need beyond pandas. All sixteen charts here draw with plotly, so all sixteen mix in `PlotlyStandaloneCode`, which the hierarchy and graph charts introduce. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
carloea2
left a comment
There was a problem hiding this comment.
The input DataFrame mutation issue from my previous review is still present.
…d over Bubble Chart and Histogram 2D dropped rows in place; Bar Chart and the Box/Violin plot rebound the name. All four now bind their own frame. The translator names a variable per output PORT, not per reader, so two charts drawn from one upstream are handed the same name. A chart that drops its own nulls through that name leaves the chart beside it drawing a table it never received, and a single-branch workflow never notices. Both spellings did it. `inplace=True` mutates the frame outright, and `in1df = in1df.dropna(...)` reads like a local rebinding but renames the shared variable, since the operator bodies are concatenated at module scope. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Fixed. Bubble Chart, Histogram 2D, Bar Chart and the Box/Violin plot now bind their own frame instead of writing to the input. Covered by the same check over every operator, which comes with the verification runner. |
carloea2
left a comment
There was a problem hiding this comment.
The charts now use a separate frame. This fixes the branch data issue.
What changes were proposed in this PR?
Sixteen plots whose shape comes from the columns they are pointed at: the
bar, line and pie, the histograms, the scatter family, the box and violin,
the strip and the ECDF, the heat map, the candlestick, the funnel and the
dot plot.
A line's series configuration and an error band's are one type extending
the other, so they travel together.
Any related issues, documentation, discussions?
Part of #8325, 11 of 21; that issue lists the set in order. It needs #8327 for the trait, so it does not compile until that lands, and the rows these operators add to the verification runner follow with the harness rather than as whole new files here.
Closes #8417, the task this change is the whole of.
How was this PR tested?
Each operator asserts the block it emits in its own spec. Once the harness lands, each is also run through the engine and through its generated script, on every configuration its schema offers, and the two answers compared.
Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Opus 5)