Skip to content
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

Stop automatically sorting gr.Barplot labels alphabetically #10764

Closed
abidlabs opened this issue Mar 8, 2025 · 1 comment · Fixed by #10953
Closed

Stop automatically sorting gr.Barplot labels alphabetically #10764

abidlabs opened this issue Mar 8, 2025 · 1 comment · Fixed by #10953
Labels
bug Something isn't working

Comments

@abidlabs
Copy link
Member

abidlabs commented Mar 8, 2025

It seems that the gr.Barplot component ignores the actual order of the labels in your dataframe and instead sorts the x values alphabetically / numerically? It should respect the order of values in your dataframe:

Image

See playground link

@abidlabs abidlabs added the bug Something isn't working label Mar 8, 2025
@Rafalex04
Copy link
Contributor

Hey everyone!
If there's no problem, I'd like to take this issue as my first contribution. I have already started working on it.
Feel free to share any suggestions or feedback!

Rafalex04 added a commit to Rafalex04/gradio that referenced this issue Mar 28, 2025
gr.NativePlot components

Originally, the bug appeared to be isolated to
gr.BarPlot, but it turns out that it affects all
gr.NativePlot components including BarPlot,
LinePlot, and ScatterPlot.

Although the data does not seem sorted in the
program's flow, it gets sorted when the Svelte
file is rendered. This issue occurs because the
reformat_sort function in index.svelte of
nativeplot returns undefined when sort is null,
which, after compilation, is treated as void 0.
This implicitly triggers default sorting. To solve
this, I changed undefined to null, ensuring that
the compiled code handles it as null, resulting in
unsorted data being displayed in the browser.
Rafalex04 added a commit to Rafalex04/gradio that referenced this issue Mar 28, 2025
…ePlot components

Originally, the bug appeared to be isolated to
gr.BarPlot, but it turns out that it affects all
gr.NativePlot components including BarPlot,
LinePlot, and ScatterPlot.

Although the data does not seem sorted in the
program's flow, it gets sorted when the Svelte
file is rendered. This issue occurs because the
reformat_sort function in index.svelte of
nativeplot returns undefined when sort is null,
which, after compilation, is treated as void 0.
This implicitly triggers default sorting. To solve
this, I changed undefined to null, ensuring that
the compiled code handles it as null, resulting in
unsorted data being displayed in the browser.
Rafalex04 added a commit to Rafalex04/gradio that referenced this issue Mar 28, 2025
Originally, the bug appeared to be isolated to
gr.BarPlot, but it turns out that it affects all
gr.NativePlot components, including BarPlot,
LinePlot, and ScatterPlot.

Although the data does not seem sorted in the
program's flow, it gets sorted when the Svelte
file is rendered. This issue occurs because the
reformat_sort function in index.svelte of
NativePlot returns undefined when sort is not
specified, which, during compilation, is treated
as void 0. This implicitly triggers default
sorting. To resolve this, I changed undefined to
null, ensuring that the compiled code handles it
as null, resulting in unsorted data being
displayed in the browser.
Rafalex04 added a commit to Rafalex04/gradio that referenced this issue Apr 6, 2025
Originally, the bug appeared to be isolated to
gr.BarPlot, but it turns out that it affects all
gr.NativePlot components, including BarPlot,
LinePlot, and ScatterPlot.

Although the data does not seem sorted in the
program's flow, it gets sorted when the Svelte
file is rendered. This issue occurs because the
reformat_sort function in index.svelte of
NativePlot returns undefined when sort is not
specified, which, during compilation, is treated
as void 0. This implicitly triggers default
sorting. To resolve this, I changed undefined to
null, ensuring that the compiled code handles it
as null, resulting in unsorted data being
displayed in the browser.
aliabid94 pushed a commit that referenced this issue Apr 8, 2025
* Fix #10764: Automatic sorting of labels in plots

Originally, the bug appeared to be isolated to
gr.BarPlot, but it turns out that it affects all
gr.NativePlot components, including BarPlot,
LinePlot, and ScatterPlot.

Although the data does not seem sorted in the
program's flow, it gets sorted when the Svelte
file is rendered. This issue occurs because the
reformat_sort function in index.svelte of
NativePlot returns undefined when sort is not
specified, which, during compilation, is treated
as void 0. This implicitly triggers default
sorting. To resolve this, I changed undefined to
null, ensuring that the compiled code handles it
as null, resulting in unsorted data being
displayed in the browser.

* add changeset

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants