Skip to content

[charts] Make band/point axis faster for large dataset #19531

@alexfauquette

Description

@alexfauquette

From the issue #12960 a financial bar chart needs to display lot of bars. But they don't need to have one label per bar.

This can causes performances issue because it makes a lot of potential label to display so lot of text measurement. Plus this results in a poor result: You can display ticks 1, 8, 15, 24, 36, 41 instead of 1,10, 20, 30, 40, 50 because the current algorithe don't care about human readable label, it just display the first on that will not cause overlap

The general idea would be that for a band scale with more than X data item (X could be set to 50 for example), the rendered tick are selected by a similar algorithm as the linear-scale or time-scale.

To discuss

We can not just display a linear axis from min to max, because a band scale can contain series with missing value like 1, 2, 3, 15, 16, 25, 26, 27. A more realistic example is financial data that are time values but only when market is open (not during the night, not during week-end)

But we could also argue that at large scale (more than 1k points) it does not really matter. eyes are not good enough to check if the tick is pixel perfect on the 28th Jan of the 2nd Fev. The only thing that matter is are we in the beginning or the end of the year

Image

The issue is more for intermetiate elements. between 50 to 1k points

Metadata

Metadata

Assignees

No one assigned

    Labels

    design: uxRelated to End-users' experience.performancescope: chartsChanges related to the charts.type: enhancementIt’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions