Skip to content

fix(echarts): honor "All" for the x-axis label interval - #43193

Open
bikash-barnwal wants to merge 2 commits into
apache:masterfrom
bikash-barnwal:fix/xaxis-label-interval-all
Open

bikash-barnwal wants to merge 2 commits into
apache:masterfrom
bikash-barnwal:fix/xaxis-label-interval-all

Conversation

@bikash-barnwal

Copy link
Copy Markdown
Contributor

SUMMARY

Setting X Axis Label Interval to All did nothing — charts kept showing every nth label.

The control is a SelectControl whose choices are ['auto', 'Auto'] and ['0', 'All'], so All is stored as the string '0'. ECharts' axisLabel.interval only understands 'auto' or a number; a string is not a valid value, so it was ignored and the axis fell back to its default label thinning.

There is a second half to it. Even with a numeric 0, hideOverlap is enabled for non-rotated axes:

hideOverlap: !(xAxisType === AxisType.Time && xAxisLabelRotation !== 0),

and hideOverlap drops labels that collide — exactly the labels All exists to show. So fixing only the type coercion would still not honor the setting.

This adds a small getAxisLabelInterval helper that normalizes the control value to what ECharts accepts (falling back to 'auto' for anything unparseable, rather than handing the axis a bad value) and reports whether the user asked for every label. Timeseries and MixedTimeseries use it to set interval and to disable hideOverlap in that one case.

Left alone deliberately: Bubble passes the same control value to xAxis.interval rather than axisLabel.interval — a different option, measured in value units rather than label counts. Changing it would alter tick spacing, not label density, so it is out of scope here and worth a separate look.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Before: with All selected, an Area/Time-series chart still renders roughly every 4th label.
After: every category label renders.

TESTING INSTRUCTIONS

cd superset-frontend
npm run test -- plugins/plugin-chart-echarts/test

775 tests across 69 suites pass. New cases: a unit test for the helper (string '0', 'auto', undefined, null, a nonsense value, and an explicit 2), and a Timeseries test asserting interval === 0 with hideOverlap === false. Two of the three fail on unpatched source; the third pins the 'auto' default so the new branch cannot regress it.

Manually: any Time-series or Area chart → Customize → X Axis Label Interval → All, and confirm every label renders.

ADDITIONAL INFORMATION

🤖 Generated with Claude Code

@dosubot dosubot Bot added change:frontend Requires changing the frontend viz:charts:echarts Related to Echarts viz:charts:timeseries Related to Timeseries labels Aug 14, 2026
@bito-code-review

bito-code-review Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Agent Run #118e34

Actionable Suggestions - 0
Review Details
  • Files reviewed - 5 · Commit Range: 812af79..812af79
    • superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
    • superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
    • superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts
    • superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts
    • superset-frontend/plugins/plugin-chart-echarts/test/utils/series.test.ts
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • Eslint (Linter) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@codecov

codecov Bot commented Aug 14, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.30769% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 66.65%. Comparing base (f458721) to head (8e9c772).
⚠️ Report is 393 commits behind head on master.

Files with missing lines Patch % Lines
...hart-echarts/src/MixedTimeseries/transformProps.ts 66.66% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##           master   #43193   +/-   ##
=======================================
  Coverage   66.64%   66.65%           
=======================================
  Files        2873     2873           
  Lines      163625   163636   +11     
  Branches    37767    37771    +4     
=======================================
+ Hits       109056   109066   +10     
- Misses      52440    52441    +1     
  Partials     2129     2129           
Flag Coverage Δ
javascript 73.76% <92.30%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

The X Axis Label Interval control offers Auto and All, storing All as the string
'0'. ECharts' `axisLabel.interval` only understands 'auto' or a number, so the
string was ignored and picking All changed nothing.

Normalize the control value to what ECharts accepts, falling back to 'auto' for
anything unparseable rather than handing the axis a bad value. Asking for every
label also has to win over `hideOverlap`, which is on for non-rotated axes and
would otherwise hide the very labels the setting exists to show, so the helper
reports that case and both Timeseries and MixedTimeseries disable hideOverlap
for it.

Bubble passes the same control value to `xAxis.interval` -- a different option
with different units -- which is left alone here since changing it would alter
tick spacing rather than label density.

Fixes apache#36325

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@bikash-barnwal
bikash-barnwal force-pushed the fix/xaxis-label-interval-all branch from 812af79 to 8e9c772 Compare August 14, 2026 22:01
@bito-code-review

bito-code-review Bot commented Aug 15, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Agent Run #b00eed

Actionable Suggestions - 0
Review Details
  • Files reviewed - 5 · Commit Range: 8e9c772..8e9c772
    • superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
    • superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
    • superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts
    • superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts
    • superset-frontend/plugins/plugin-chart-echarts/test/utils/series.test.ts
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • Eslint (Linter) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@sadpandajoe
sadpandajoe requested review from EnxDev and a lite review from Copilot August 17, 2026 17:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Fixes an ECharts Timeseries/MixedTimeseries bug where selecting X Axis Label Interval = All (stored as the string '0') was ignored by ECharts, and where hideOverlap could still suppress labels even when “All” was requested.

Changes:

  • Added getAxisLabelInterval helper to coerce the control value into ECharts-compatible axisLabel.interval values ('auto' or a number) and to flag the “show all labels” case.
  • Updated Timeseries and MixedTimeseries transformProps to use the normalized interval and to disable hideOverlap when “All” is selected.
  • Added unit test coverage for the helper and regression tests to ensure interval === 0 and hideOverlap === false for “All”, and that the default remains 'auto'.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts Adds getAxisLabelInterval to normalize the x-axis label interval control value for ECharts and detect “show all labels”.
superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts Uses the helper to set axisLabel.interval correctly and disables hideOverlap when “All” is selected.
superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts Same normalization + hideOverlap override as Timeseries for consistent behavior.
superset-frontend/plugins/plugin-chart-echarts/test/utils/series.test.ts Adds unit tests for getAxisLabelInterval normalization and fallbacks.
superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts Adds regression tests asserting “All” results in interval: 0 and hideOverlap: false, and that the default is 'auto'.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@EnxDev

EnxDev commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

EnxDev's Review Agent — #43193 · HEAD 8e9c772

comment — the category-axis half is correct and well-argued, but on a temporal x-axis (the case in #36325) ECharts still ignores axisLabel.interval, so "All" remains unhonored there.

🔴 Functional

  • superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts:1271 (and MixedTimeseries/transformProps.ts:782) · High — ECharts only reads axisLabel.interval on category axes. In echarts 6.1.0, coord/axisTickLabelBuilder.js:81:

    // Only ordinal scale support tick interval
    return axis.type === 'category' ? makeCategoryLabels(axis, ctx) : makeRealNumberLabels(axis);

    and coord/axisHelper.js:199 gates the same way:

    export function shouldShowAllLabels(axis) {
      return axis.type === 'category' && getOptionCategoryInterval(axis.getLabelModel()) === 0;
    }

    Issue X-Axis Label Interval "All" does not work on timeseries x-axis variables in Superset 6.0.0 #36325 is an Area chart over a temporal x-axis with a day/week grain, so getAxisType (src/utils/series.ts:938) returns AxisType.Time and the newly-coerced interval: 0 is dropped just as the string '0' was. On a time axis the label set is axis.scale.getTicks() mapped 1:1 (makeRealNumberLabels), bounded by the minInterval/maxInterval this file already derives from the time grain. The only change that lands there is hideOverlap: false, which un-hides colliding labels but cannot add ticks the scale never generated — and the reported "every 4th label" thinning comes from the nice-interval tick algorithm, not from collision hiding. Net: the linked issue's scenario is unchanged.

    Fix: when showAllXAxisLabels && xAxisType === AxisType.Time, also set the axis-level interval (value units, i.e. ms — not axisLabel.interval) to TIMEGRAIN_TO_TIMESTAMP[resolvedTimeGrain]. ECharts forwards that to the scale as userInterval (coord/axisNiceTicks.js:183), which forces one tick per grain; the map is already imported here for minInterval. regression test: transformProps with coltypes: [GenericDataType.Temporal], a time_grain_sqla, and xAxisLabelInterval: '0', asserting the forced tick spacing on xAxis.interval — not just axisLabel.interval === 0, which passes today regardless.

🟡 Should-fix

  • superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts:2441 — the fixture leaves coltypes: [], so xAxisDataType is undefined and getAxisType falls through to AxisType.Category (src/utils/series.ts:948). The new test therefore covers only the axis type where interval already works, and asserts the option object rather than label output — both assertions stay green even with the temporal path broken. Add a temporal-coltype case.
  • superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts:777 — same behavioral change, no test; codecov's single uncovered patch line is this branch. Add a MixedTimeseries "All" case mirroring the Timeseries one.

🔵 Nits

  • superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts:1137 — Number('') is 0, so a stored or imported xAxisLabelInterval: '' silently becomes "show every label, hideOverlap off". The control can't emit it (freeForm: false, clearable: false in src/controls.tsx:371), but form_data arriving via the API or an import can. Guard the empty string; the helper test covers null/undefined/'nope' but not ''.

🙌 Praise

  • superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts:1129 — the hideOverlap half is right and non-obvious: AxisBuilder.js:604 applies hideOverlap independently of the category interval, so interval: 0 alone would still get overridden. Deferring Bubble is also correctly reasoned — it sets the axis-level interval, a different option in value units.

Reviewed by EnxDev's Review Agent — @EnxDev · HEAD 8e9c772.

@rusackas

Copy link
Copy Markdown
Member

@bikash-barnwal the category-axis part of this looks right, but I don't think it closes #36325.

ECharts only reads axisLabel.interval on category axes (axisTickLabelBuilder.js routes to makeCategoryLabels there); on a time axis, which is what the issue title is actually about, label placement comes from the generated ticks and minInterval, and never touches this option. Superset sets xAxis.type to AxisType.Time whenever the x-axis column is temporal, so the scenario people are reporting (day/week grain on a temporal column) goes through the code path this PR doesn't change.

The new regression test in test/Timeseries/transformProps.test.ts still uses the base fixture's coltypes: [], so it's exercising the category path where this already worked, not the temporal one from the report. Worth adding a case with a temporal coltype and a time grain to prove the fix actually does something there, or scoping the PR title/description to what it really covers.

Also needs a rebase, this is showing conflicts with master.

@github-actions github-actions Bot added the requires:rebase Requires rebasing on top of current master label Sep 3, 2026
ECharts only ever reads axisLabel.interval for category axes
(axisTickLabelBuilder routes to makeCategoryLabels there; a time axis goes
through makeRealNumberLabels and never touches it). Superset sets
xAxis.type to Time whenever the x-axis column is temporal, so the scenario
apache#36325 actually reports -- a day/week grain on a temporal column -- went
through the code path the previous commit didn't change; the regression
test used the base fixture's coltypes: [], exercising only the
already-working category path.

On a time axis, tick density comes from minInterval/maxInterval instead.
minInterval alone only floors the spacing -- ECharts can still pick a
wider nice interval to fit the available width -- so pin both bounds to
the resolved time grain when "All" is selected, forcing one tick (and
label) per data point. "All" wins over forceMaxInterval's own opposite
request. Without a resolved grain there's nothing to pin to, so that case
falls back to the pre-existing behavior.

Added a regression test with a temporal coltype and a Day grain, and a
fallback-behavior test for the no-resolved-grain case. Applied the same
fix to MixedTimeseries.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@bikash-barnwal

Copy link
Copy Markdown
Contributor Author

You're right, thanks for tracing that through axisTickLabelBuilder.js — fixed the actual gap now.

On a time axis, tick density comes from minInterval/maxInterval instead of axisLabel.interval. The previous commit only set minInterval to the resolved grain when a time grain existed, which just floors the spacing — ECharts can still choose a wider "nice" interval to fit the available width, so it wasn't actually forcing one label per point. Now when "All" is selected on a temporal axis with a resolved grain, both minInterval and maxInterval are pinned to that same grain value, which forces exactly one tick (and label) per data point. "All" wins over forceMaxInterval's own (opposite) request, since the user explicitly asked to see every label. Without a resolved grain there's nothing to pin to, so that case keeps the pre-existing behavior (documented in a fallback test).

Added a regression test using a temporal coltype + Day grain (mirroring the tooltip-time-grain tests' fixture pattern) asserting minInterval/maxInterval both equal the day-in-ms value and hideOverlap is still forced off, plus a test for the no-resolved-grain fallback. All 4 interval-related tests pass locally. Applied the same change to MixedTimeseries.

Re: the rebase — I hit a shallow-clone issue attempting it locally (this fork's clone doesn't share full history with apache/superset master, so git rebase walked all the way back to a ~2015 root commit and conflicted there; I aborted before it did anything destructive). I don't have a safe way to fix that from here without a full unshallow fetch, so the branch is still showing conflicts against current master — flagging that honestly rather than leaving it unmentioned. Happy to redo the rebase with a proper full clone if useful, or if you'd rather just take this commit and resolve the merge conflict on your end, that works too.

@netlify

netlify Bot commented Sep 5, 2026

Copy link
Copy Markdown

✅ Deploy Preview for superset-docs-preview ready!

Name Link
🔨 Latest commit f0d4b6c
🔍 Latest deploy log https://app.netlify.com/projects/superset-docs-preview/deploys/6a9bcd9916ab460008dcff42
😎 Deploy Preview https://deploy-preview-43193--superset-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Comment on lines +1221 to +1225
const timeGrainIntervalMs = resolvedTimeGrain
? (TIMEGRAIN_TO_TIMESTAMP[
resolvedTimeGrain as keyof typeof TIMEGRAIN_TO_TIMESTAMP
] ?? undefined)
: undefined;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggestion: Calendar grains use fixed durations, so pinning a month, quarter, or year can create ticks on drifting dates and labels for missing time periods. [logic error]

Assessment: 🟠 Major · 🔁 Occurrence: Sometimes

Use CodeAnt Skill Fix in Cursor Fix in VSCode Claude

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
**Line:** 1221:1225
**Comment:**
	*Logic Error: Calendar grains use fixed durations, so pinning a month, quarter, or year can create ticks on drifting dates and labels for missing time periods.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

@bito-code-review

Copy link
Copy Markdown
Contributor

The flagged issue is correct. Calendar grains (like months or quarters) have variable durations, so using a fixed duration (like a constant number of milliseconds) to pin ticks can lead to misaligned labels or missing time periods when the underlying data does not perfectly align with that fixed duration.

To resolve this, you should avoid pinning the interval to a fixed duration for calendar-based grains. Instead, you can rely on ECharts' built-in time axis handling, which is designed to calculate appropriate intervals for calendar units automatically. If you need to ensure all labels are shown, you should handle the interval logic by checking if the grain is a calendar type and adjusting the minInterval and maxInterval dynamically based on the specific calendar unit, rather than a static timestamp constant.

Would you like me to fetch all other comments on this PR to validate them and implement a minimal fix for the rest?

superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts

const timeGrainIntervalMs = resolvedTimeGrain
    ? (TIMEGRAIN_TO_TIMESTAMP[
        resolvedTimeGrain as keyof typeof TIMEGRAIN_TO_TIMESTAMP
      ] ?? undefined)
    : undefined;

@bito-code-review

bito-code-review Bot commented Sep 5, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Agent Run #0ffc2c

Actionable Suggestions - 0
Additional Suggestions - 2
  • superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts - 1
  • superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts - 1
    • Missing test for duplicated logic · Line 670-676
      The new minInterval/maxInterval pinning logic is duplicated from `Timeseries/transformProps.ts`, but only the Timeseries path received regression tests. `test/MixedTimeseries/transformProps.test.ts` (29 tests) has no coverage of `showAllOnTimeAxis`/`timeGrainIntervalMs`, so this duplicated branch can silently diverge. Please mirror the two new tests for the temporal and no-grain cases.
Review Details
  • Files reviewed - 3 · Commit Range: 8e9c772..f0d4b6c
    • superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
    • superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
    • superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • Eslint (Linter) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers an incremental AI Review.

  • /review full - Manually triggers a full AI Review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@EnxDev EnxDev left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for tracing the category/time-axis split; normalizing axisLabel.interval is a sensible part of the fix. I found two temporal cases that still need another pass before this closes #36325: several supported grains bypass the new path, and pinning a continuous scale synthesizes ticks across gaps. I left concrete reproductions inline. The two added suites pass locally (180 tests), although they only inspect the generated options rather than the rendered ticks. The branch also conflicts with master; the recent time-axis work in #43339 and #43669 has helpers that may make an actual-timestamp approach easier.

] ?? undefined)
: undefined;
const showAllOnTimeAxis =
showAllXAxisLabels && xAxisType === AxisType.Time && !!timeGrainIntervalMs;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[P1] Keep All working for every supported time grain. TIMEGRAIN_TO_TIMESTAMP only contains hour, day, month, quarter, and year, so P1W and the anchored weekly grains (as well as second/minute grains) resolve to undefined. That leaves showAllOnTimeAxis false and the time axis on its old automatic tick selection. The linked issue explicitly reports Week: rendering 52 weekly points with these resulting options gives 13 month-aligned ticks, not 52 labels. Could we derive the ticks from the actual timestamps instead and add a TimeGranularity.WEEK regression?

]
xAxisType === AxisType.Time && resolvedTimeGrain
? showAllOnTimeAxis || forceMaxInterval
? timeGrainIntervalMs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[P1] Avoid generating a tick for every empty grain bucket. minInterval/maxInterval constrain ECharts' continuous time scale; they do not mean one tick per data point. For example, two daily points at 2010-01-01 and 2020-01-01 produce 2,898 ticks here and repeated Exceed safe limit in TimeScale["getTicks"] warnings, instead of two labels. Gaps are common in grouped time data, so All can make rendering scale with the date range and add labels where there is no point. Could we pass the actual timestamp values through ECharts 6's axisLabel.customValues/axisTick.customValues (possibly extending resolveTemporalTickValues from current master) and cover a sparse range in a test?

@rusackas

Copy link
Copy Markdown
Member

@EnxDev's points on this seem right to me. TIMEGRAIN_TO_TIMESTAMP only covers hour/day/month/quarter/year, so weekly grains fall through and "All" still won't work for the Week case the original issue reports. The sparse-data tick explosion (thousands of ticks for a couple of far-apart points) sounds like a real problem too. Also still conflicting with master. Let's get those sorted before this goes further.

@rusackas

Copy link
Copy Markdown
Member

Still no update since my last check-in. requires:rebase is still on there, and @EnxDev's points on the weekly grain and the sparse-data tick explosion are still unaddressed. Holding until those land and it's rebased on master.

This branch has not been deployed

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

Labels

change:frontend Requires changing the frontend plugins requires:rebase Requires rebasing on top of current master size/L viz:charts:echarts Related to Echarts viz:charts:timeseries Related to Timeseries

Projects

None yet

Development

Successfully merging this pull request may close these issues.

X-Axis Label Interval "All" does not work on timeseries x-axis variables in Superset 6.0.0

5 participants